Linux 下監控用戶最大進程數參數(nproc)是否到達上限的步驟:多線程
1.查看各系統用戶的進程(LWP)數:
注意:默認狀況下采用 ps 命令並不能顯示出全部的進程。由於 Linux 環境下執行多線程,每一個線程都將以一個輕量級進程(light-weight process [LWP])的形式執行,而 ps 命令若是不帶 -L 選項將沒法查看 LWP。
查看各系統用戶的進程數的命令以下所示,執行後可得相似以下結果。
# ps h -Led -o user | sort | uniq -c | sort -n
若是某個用戶的 nproc 的軟限制小於其運行中的進程數,則切換用戶時將報錯 "su: cannot set user id: Resource temporarily unavailable"
2.肯定某用戶的進程(LWP)數的分佈狀況:
根據步驟 1 可肯定 nproc 參數接近上限的問題用戶,隨後應肯定該用戶進程數(LWP)的分佈狀況。命令以下,查詢結果相似以下。
# ps -o nlwp,pid,lwp,args -u
username | sort -n
其中
username 爲系統用戶名。
注意:根據查詢結果,即可輕易肯定存在問題的程序。若是程序均正常,而 nproc 參數已接近上限值,則需修改 nproc 參數。