1. 程式人生 > >調整登錄會話和資源限制,bash和csh的ulimit設置方法

調整登錄會話和資源限制,bash和csh的ulimit設置方法

ctu borde bottom 下一個 下列表 right 名稱 無法 lang

查看軟限制和硬限制

要查看會話中的軟限制設置,請運行:

    對於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
descriptors  
1024 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軟限制。

  • memoryusevmemoryuse (最大內存大小和虛擬內存)

    大多數計算節點上的軟限制memoryusevmemoryuse設置為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設置方法