如題
像是 save -cpu 20% -ram 1024mb -exe shell
<- 這段自己亂想的
(主動保留 cpu 20% 及 ram 1024mb 給 shell 程式用,其他程式無法染指)
剛剛 02:05 時執行了一個 python 腳本
結果 CPU 用量直接突破天際
在察覺CPU滿載的時候我趕緊下了
ps aux
(3分鐘過去了)
cpulimit --pid 13135 --limit 50
(6分鐘過去了,cpulimit 執行成功)
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
(5分鐘過去才顯示結果)
如上圖,即使 CPU 用量後來有被限制成功
但其實下指令還是要等很久(約莫1、2分)
後來有思考是不是其他地方卡住了
所以去看了一下後台
環境:
GCP
f1-micro (1 個 vCPU,0.6 GB 記憶體)
10GB 標準永久磁碟(HDD)
Ubantu 16.04
恩...
依照 最佳化永久磁碟和本機 SSD 的效能 - 標準永久磁碟 IOPS 的表格(如下圖)
應該是 IOPS 卡住了...
這個好像限制CPU使用量也無解(?
恩,總之我目前還沒來的及下 kill -9 13135,他就又 CPU 120% 了
(乾... cpulimit加油rrrrr...
目前找到的解法大多都是 "自動砍使用 CPU 80% 以上程式"、"限制 XXX CPU 使用率" 這類的解法。
所以希望能找一個方式來確保 shell(zsh) 可以運作正常
避免再出現這種情況。
在此先謝過看到這裡的各位了 m(_ _)m
https://en.wikipedia.org/wiki/Nice_(Unix)
可以利用 nice, renice 這組命令.
在 How to Set Linux Process Priority Using nice and renice Commands裡面How To Set Default Nice Value Of a Specific User’s Processes那小節的說明可以參考看看
啊 這正是我所需的
謝謝兩位(ノ>ω<)ノ