其實ulimit的講解不屬于C或者C++ 語言范疇,他只是在我們日常開發或者線上linux運行環境不可缺少的工具。
比如我們要查看服務器崩潰的core文件,允許core文件產生,都需要ulimit -c命令調整。
比如我們設置的當前運行環境的棧空間過小,容易產生棧溢出,那么我們也可以通過修改ulimit -s參數。
比如我們要擴充用戶的最大進程數,我們就可以通過ulimiit -a來調整
等等。那么接下來我將介紹ulimit的參數和用法:
Linux對于每個用戶,系統限制其最大進程數。為提高性能,可以根據設備資源情況,設置各linux 用戶的最大進程數
可以用ulimit -a 來顯示當前的各種用戶進程限制。
下面我把某linux用戶的最大進程數設為10000個:
ulimit -u 10240
對于需要做許多 socket 連接并使它們處于打開狀態的 Java 應用程序而言,
最好通過使用 ulimit -n xx 修改每個進程可打開的文件數,缺省值是 1024。
ulimit -n 4096 將每個進程可以打開的文件數目加大到4096,缺省為1024
其他建議設置成無限制(unlimited)的一些重要設置是:
數據段長度:ulimit -d unlimited
最大內存大小:ulimit -m unlimited
堆棧大小:ulimit -s unlimited
CPU 時間:ulimit -t unlimited
虛擬內