壓低CPU和memory但不kill程序 - Linux

Table of Contents

如題,在共享主機上要跑站台維護腳本,
主機會主動kill掉資源耗太大的process,
我希望腳本可以跑慢一點沒關係,但不要吃太多資源。

查過限制CPU常見的ulimit和PHP的memory_usage,
但兩者都是把資源用超過的程式中斷掉...

請問各位前輩,有沒有方法可確實壓低process的CPU% (跑慢一點沒關係)
和memory usage (多的丟到virtual memory?)
且能維持程序正常執行而不會kill或因資源不足而中斷?

--

All Comments

Olivia avatarOlivia2013-05-01
試試 nice -n 19 script.sh
Joseph avatarJoseph2013-05-01
echo 1870000 > /sys/devices/system/cpu/cpu2/cpufreq/
Selena avatarSelena2013-05-04
cpufreq/scaling_max_freq
cat /sys/devices/system/cpu/*/cpufreq/scaling_availa
James avatarJames2013-05-06
cpufreq/scaling_available_frequencies
Leila avatarLeila2013-05-10
ulimit不會中斷啊,就只是allocation fail.
只是很多程式碰到alloc fail就直接不跑了
Jessica avatarJessica2013-05-10
VM還是真正的ram, OS都是把你直接砍了
Harry avatarHarry2013-05-14
VM是一種記憶體管理方式,你可以把VM當作是一個連續的定址
空間,而每個process都會被分配一個VM,而當process執行到
空間內某一段的指令時,OS就會分配實體記憶體對應到那段空
間,也就是page fault,在linux裡面VM是以pure demand pag
Lauren avatarLauren2013-05-18
ing實作的,每個VM會對應一個page table
page table裡就是存放著虛擬記憶體和實體記憶體的對應關係
Isabella avatarIsabella2013-05-21
cpu可以用cgroups處理
Belly avatarBelly2013-05-26