作者查詢 / yvb
作者 yvb 在 PTT [ Linux ] 看板的留言(推文), 共325則
限定看板:Linux
看板排序:
15F推:應該是 iproute2 吧.11/04 17:51
2F推:大概兩種解法.[1]PC1轉送PC2時做SNAT,但PC2無法得知真正來源.10/22 22:05
3F→:[2]PC2對特定port用policy route,但外面無法直接連PC2該port.10/22 22:08
14F推:回四樓rick大, 看原po的iptables rule, 是從ppp0來的才DNAT,10/23 13:16
15F→:不是內網,所以 policy route 不會不 work.10/23 13:16
16F→:另外, 關於SNAT的部分, 在PC2只會看到是192.168.1.254連過來;10/23 13:16
17F→:作法最好搭配 mangle table 及 fwmark 來做:10/23 13:16
18F→:iptables -t mangle -A PREROUTING -i ppp0 -p tcp \10/23 13:17
19F→: --dport 9999 -j MARK --set-mark 0x1/0x1 ;10/23 13:17
20F→:iptables -t nat -A PREROUTING -m mark --mark 0x1/0x1 \10/23 13:17
21F→: -j DNAT --to-destination 192.168.1.250:3306 ;10/23 13:17
22F→:iptables -t nat -A POSTROUTING -d 192.168.1.250 \10/23 13:17
23F→: -m mark --mark 0x1/0x1 -j MASQUERADE ;10/23 13:17
24F→:上面的 -j MASQUERADE 也可改為10/23 13:18
25F→: -j SNAT --to-source 192.168.1.25410/23 13:18
26F→:效果相同, 但用 -j MASQUERADE 較方便.10/23 13:18
27F→:當然, -d 192.168.1.250 在這情況下改用 -o eth0 也可以.10/23 13:18
28F→:若按上面的設定, 原 po 原來的那一筆 DNAT 就要拿掉.10/23 13:21
29F→:其實 -d 192.168.1.250 或 -o eth0 不寫應該也 OK.10/23 13:26
30F推:一時不查. 有設定 port (像上述 DNAT) 時就要加上 protocol.10/23 16:24
15F推:需不需要考慮別人也跑 matlab, 或 matlab 再 fork 出 matlab?10/20 10:57
16F→:如果答案為是, 那就應使用 ps 算數量的方式. 如果答案為否,10/20 10:58
17F→:那就用 for 產生十個背景的 while sub-shell, matlab 直接跑:10/20 11:00
18F→: for ...; do (while true; do matlab; done) & done10/20 11:02
19F→:這樣應該就沒有 SIGCHLD 或抓背景 pid 的問題.10/20 11:05
34F推:用semaphore控制總量,那就要確保大家都這麼跑,不然還是沒用.10/20 14:24
35F推:另外,以原po的問題,避免多生n個才是重點,多死了n個無關當機.10/20 14:59
36F→:原po的 "瞬間暴增破百",如果不會造成什麼問題,也不用太care.10/20 15:02
48F推:樓上b大不需要把問題複雜化. 原po的情況,如果是個人電腦,10/20 22:09
49F→:就不需要考慮 "還有別人" 的情況; 如果是公用電腦,10/20 22:10
50F→:除非是管理者之類, 否則也很難要求別人用 "統一架構".10/20 22:11
51F→:再者, 我別述的 "多死了n個無關當機" 是指上面提jobs的情況,10/20 22:12
52F→:這種情況, 除非自己寫錯處理方式, 只會有多死不會有多生.10/20 22:14
53F→: 前述10/20 22:14
64F推:b大,不好意思沒說清楚. 那段推文雖然提到別人跑,但只簡單帶過,10/21 12:36
65F→:其實是假設原po的環境為否的情況 :P10/21 12:37
66F推:否則若是公用電腦,可能不光只是執行matlab的問題,10/21 12:49
67F→:可能還有別的應用程式; 又比如每個人用matlab執行的工作,10/21 12:51
68F→:不盡相同, 對系統資源的需求可能有的很多有的很少,10/21 12:52
69F→:上述各種考慮是否還有別人之類的問題解法,大概都很容易破功 :P10/21 12:53
70F推:也就是說, 真要考慮多人的情況, 可能就不只是數量問題,10/21 13:34
71F→:比方單獨執行時, user a 的 A 程序最多跑 10 個, 再多會當;10/21 13:35
72F→:而 user b 的 B 程序, 最多 5 個; 那兩人同時丟上去跑的話,10/21 13:37
73F→:顯然單算總量都會有問題, 還得對各個程序做些加權計算之類,10/21 13:40
74F→:使得達到A已跑4隻時,B只能最多只能跑3隻之類...10/21 13:41
75F→:但這類複雜情況, 我想應不是原po問題的本意.10/21 13:45
76F→: (而且往往是當機幾次後,才知道跑幾個會當機XD)10/21 13:46
81F推:其實這類情況, 靠人工協調後, 自行用簡單的方式進行控管,10/21 15:29
82F→:也就夠了. 弄成複雜的樣子再用程式處理, 還不見得管用.10/21 15:32
91F推:b大, 您上述的 "單一程式" 在 Linux 其實就是 kernel.10/21 18:17
92F→:原po的 "大當機", 我認為是系統記憶體不足,而大量進行swap,10/21 18:18
93F→:慢到令人無法忍受地慢; 但超級電腦,一方面有極大量的記憶體10/21 18:21
94F→:(可能十T或百T以上等級),另一方面也做記憶體的資源控管,10/21 18:23
95F→:當然沒機會遇到記憶體不足的 "當機".10/21 18:25
96F→:當然相比之下, 一般機器資源少, Linux 的 kernel 也很陽春.10/21 18:34
97F→:就算控制 job 數量, 還是無法保證記憶體使用量.10/21 18:36
108F推:b大說得是,但仍需kernel配合,AP層級才有辦法做某些精細的控管.10/21 22:09
109F→:又,雖不是突降到0,但以程序數量的角度,也只能知道再加一就當.10/21 22:12
112F推:回樓上上k大,其實cgroup和pbs都只是聞其名,不曾進一步了解:P10/22 14:56
113F→:不知cgroup可否在多個程序總合超出資源限制時,暫停某程序,10/22 14:57
114F→:待資源足夠時再繼續之類? 另外 pbs 是否有跟 cgroup 做結合?10/22 14:58
115F→:^ 甚至進一步 swapout 出記憶體, 待...10/22 15:02
1F推:VFAT 就是使用 FAT, 只是用點小技巧在 FAT 中存放長檔名.10/16 21:05
2F→:詳見 http://zh.wikipedia.org/wiki/FAT 找一下 LFN10/16 21:07
3F→:真要強迫存放 8.3 檔名格式, 請 mount -t msdos10/16 21:09
4F→:否則預設會使用 mount -t vfat 來 掛載 fat 檔案系統.10/16 21:10
7F推:樓上的方式等同於 mkfs -t msdos -F 32 -n "name" /dev/sdx#10/20 00:08
8F→:也就是做成 fat32 的格式, 掛載方式一樣, 預設也是掛載為 vfat10/20 00:09
9F推:即使未指定 -F 32, 仍會視情況做成 fat12, fat16 或 fat32.10/20 00:16
1F推:grep -Rl abc --include='*.txt' . ?10/16 01:31
2F→:寫錯, grep -RL abc --include='*.txt' .10/16 01:32
7F推:樓上寫法只是把包含 abc 的行拿掉, 其它不含 abc 的行都列出來10/17 13:34
11F推:咦? 是要檔名本身不含 abc 字樣, 還是檔案內容不含 abc ?10/17 22:47
7F推:sed -n '1~100p' ?10/16 01:22
8F推:按你的描述, 似乎只要記錄 Test_log1 的第一筆, 供下次檢查,10/16 02:17
9F→:就可以知道是不是新的 Test_log1 ...10/16 02:17
10F推:也就是說, 若可等 Test_log 被轉存到 Test_log1 後再來處理,10/16 02:26
11F→:那問題應該就簡單許多了吧 ??10/16 02:26
22F推:sed -n '1,100p' 才是前一百行.10/17 13:30
23F→:sed -n '1~100p' 是每隔一百行, 從第一行開始.10/17 13:31
25F推:若要用 inotify() 大概就要移駕 LinuxDev 板了 :P10/17 16:58
26F推:翻回去忽然看到這句話:10/17 19:25
27F→: 因為這些sensor資料,我大約每個小時只需要一筆即可...10/17 19:26
28F→:意思就是, 其實只要一小時跑一次 cron job10/17 19:27
29F→:而 cron job 就只要用 tail -1 抓最後一筆 Test_log 即可.10/17 19:29
30F→: tail -1 Test_log >> Test_long_log10/17 19:30
31F推:頂多, 加一點檢查, 看 Test_long_log 和 Test_log 的最後一行10/17 19:35
32F→:如果相同, 就不要 append 到 Test_long_log.10/17 19:35
33F推:咦, 原來11樓r大已寫了 tail, 只是我被那句 鬼遮眼 也給遮了:P10/17 19:51
34F推:啊, 更上面其實還有6樓... 所以是 "編輯" 過後的11樓.10/17 19:54
38F推:'1~100p'不認得? sed --version 或 sed -V 看一下是什麼版本?10/17 22:43
1F推:因為你編了 kernel module, 但 user space 的 iptables 沒編.10/08 18:05
2F→:ebtable 有 -i, -o 可以指定 interface name.10/08 18:06
3F→:ebtables10/08 18:07
4F推:kernel 的 code 會改, options 也會改.09/24 12:59
5F→:所以不要拿明朝的劍斬清朝的官了 :P09/24 13:00
6F→:看來去設定 CONFIG_SERIAL_8250_XXX 相關的項目應該就 OK 了.09/24 13:04
3F推:寫個 ab.sh 去 qsub a.sh 再 qsub b.sh 不行嗎?09/13 00:21
7F推:查了一下, 似乎至少有兩個套件有 qsub,09/13 15:02
8F→:一套是 Sun gridengine, 另一套是 OpenPBS torque.09/13 15:04
9F→:根據兩者的 man page 看來,09/13 15:07
10F→:前者用 qsub -sync y {script} ; 後者用 qsub -I {script} ;09/13 15:07
11F→:應該就可以在執行 qsub 的機器上, 等候 script 執行完畢.09/13 15:09
1F推:iconv -l 先看看有什麼 character sets 可用吧.09/06 16:54