程式跑到一半死掉惹,跳出了錯誤訊息:
- Too many open files
這時候要用ulimit這個指令來看開檔數目限制
- ulimit -n
- ulimit -Hn
第一個是軟限制,也就是超過這個值系統會出現警告訊息;第二個指令則是硬限制,系統不允許程式在跑的時候使用超過這個值的資源
要修改這個限制,則是要去修改/etc/security/limits.conf 這個設定檔。以設定使用者user開檔數目為例,加入下面兩行:
- user soft nofile 262144
- user hard nofile 524288
若要把軟限制與硬限制設定成為一樣的值,那可以設定
- user - nofile 524288
設定完成後,使用者user必須要重新登入新的設定才會生效。對於開啟檔案nofile的這個數值,沒有辦法設定成為unlimited,這是因為系統裡面有一個絕對上限,用下面指令來看這個上限:
- cat /proc/sys/fs/nr_open
參考資料
- do changes in /etc/security/limits.conf require a reboot?
- On Linux - set maximum open files to unlimited. Possible?
- limits.conf(5) — Linux manual page
- 如何在 Linux 伺服器上設定 ulimit 和檔案描述符數限制
- 关于limits生效的案例一两只
- Documentation for /proc/sys/fs/*
_EOF_
Pour painting art, intricate, elegant, highly detailed, smooth, sharp focus, art by Olga Soby and Rinske Douna and Left Brained
Steps: 20, Sampler: DPM++ 2M Karras, CFG scale: 7, Seed: 231204, Size: 512x512, Model hash: 6ce0161689, Model: v1-5-pruned-emaonly, Version: v1.6.0-2-g4afaaf8a
Time taken: 9 min. 43.6 sec.
A: 3.48 GB, R: 4.58 GB, Sys: 2.0/2 GB (100.0%)
沒有留言:
張貼留言