調整登錄會話和資源限制,bash和csh的ulimit設置方法
查看軟限制和硬限制
要查看會話中的軟限制設置,請運行:
對於csh: % limit
對於bash: $ ulimit -a
下面的輸出樣本顯示了PFE上的軟限制設置。
對於csh:
% limit cputime unlimited filesize unlimited datasize 4096000 kbytes stacksize 300000 kbytes coredumpsize unlimited memoryuse 1024000 kbytes vmemoryuse unlimited descriptors1024 memorylocked unlimited maxproc 400 maxlocks unlimited maxsignal 255403 maxmessage 819200 maxnice 0 maxrtprio 0 maxrttime unlimited
對於bash:
$ ulimit -a core file size (blocks, -c) unlimited data seg size (kbytes, -d) 4096000 scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 255403 max locked memory (kbytes, -l) unlimited max memory size (kbytes, -m) 1024000 open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes,-q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 300000 cpu time (seconds, -t) unlimited max user processes (-u) 400 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
要查看硬限制,請運行:
對於csh: % limit -h
對於bash: $ ulimit -Ha
修改軟限制
要修改資源的軟限制設置,請在limit(for csh)之後鍵入資源的名稱,或在ulimit(for bash)之後鍵入選項。例如,要將stacksize限制重置為200,000 KB,請運行:
對於csh: % limit stacksize 200000 對於bash: $ ulimit -Ss 200000
默認限制的常見問題
以下列表描述了一些默認限制的常見問題。
- stacksize(堆棧大小)
在PFE上,stacksize軟限制設置為300,000 KB,因為某些繪圖包(例如Tecplot)需要較小的堆棧大小才能正常運行。但是,如果在stacksize 運行應用程序時將其設置得太小,則通常會發生分段錯誤(段錯誤)。如果在同一會話中運行繪圖包和您自己的應用程序,則需要相應地在小堆棧大小和大堆棧大小之間切換。
- maxproc (最大用戶流程)
的maxproc限制設置到400上的PFES(軟)和600(硬)。在計算節點上,限制設置為100,000以上(大小因節點類型而異)。
如果在PFE上遇到以下錯誤消息之一,則表示您已達到maxproc軟限制:
can‘t fork process or fork: Resource temporarily unavailable
這可能在編譯期間發生,特別是如果您使用運行並行make操作make -j。
註意:每個Tecplot會話可以使用超過100個用戶進程。如果在同一個PFE上運行多個Tecplot實例,則可能達到maxproc軟限制。
- memoryuse和vmemoryuse (最大內存大小和虛擬內存)
大多數計算節點上的軟限制memoryuse和vmemoryuse設置為unlimited。例外情況是:
- 在PFE上,memoryuse設置為1 GB。
- 在LDAN和Endeavor節點上,vmemoryuse設置為節點總物理內存的大約80%。
vmemoryuse嘗試分配內存時,該設置會影響結果 - 例如,當您使用以下allocate命令時:
allocate (a(i),stat=ierror)
該memoryuse設置會影響參考array a。請記住,在具有不同設置的節點上運行應用程序將導致不同的行為。
- coredumpsize (核心文件大小)
對於PBS作業,coredumpsizeEndeavor 的軟限制設置為0 KB; Pleiades,Electra和Merope計算節點的64 KB; LDAN為128 KB。這些默認設置旨在避免多個進程生成大型核心文件,因為核心文件可能占用節點的緩沖區緩存,等待刷新到磁盤; 如果節點上的緩沖區緩存沒有被當前作業的PBS結尾和下一個作業的PBS序言刷新,則節點將無法使用。
如果您需要核心文件來調試應用程序,請將coredumpsize軟限制重置為大數,最多為unlimited。
調整登錄會話和資源限制,bash和csh的ulimit設置方法