Linux 修改/etc/security/limits.conf

做GP壓測的時候,當併發上去之後會一直報

could not fork new process for connection: Resource temporarily unavailable
 (seg0 10.50.10.170:6000)
Client 13 aborted in state 2: ERROR:  failed to acquire resources on one or more segments
DETAIL:  could not fork new process for connection: Resource temporarily unavailable

官方建議修改‘ulimit -u’ 爲131072。

 -u 是用戶最多可啓動的進程數目。

該參數root用戶是131072,gpadmin用戶是1024.

可是/limits.conf裏面是

* soft nproc 131072

 /etc/security/limits.conf 配置文件可限制文件打開數,系統進程等資源,在該文件配置中寫的最大用戶進程數是受/etc/security/limits.d/90-nproc.conf配置上限影響的。

90-nproc.conf 修改爲131072所有用戶的最大進程數都會變掉。

[root@gptest01 ~]# vim /etc/security/limits.
limits.conf  limits.d/    
[root@gptest01 ~]# cd  /etc/security/limits.d/
[root@gptest01 limits.d]# ll
total 4
-rw-r--r-- 1 root root 193 Jun  9 16:22 90-nproc.conf
[root@gptest01 limits.d]# vim 90-nproc.conf 

# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

*          soft    nproc     131072
root       soft    nproc     unlimited

命   令:ulimit
功   能:控制shell程序的資源
語  法:ulimit [-aHS][-c <core文件上限>][-d <數據節區大小>][-f <文件大 小>][-m <內存大小>][-n <文件數目>][-p <緩衝區大小>][-s <堆棧大小>][-t <CPU時間>][-u <程序數目>][-v <虛擬內存大小>] 
    補充說明:ulimit爲shell
內建指令,可用來控制shell執行程序的資源。 
    參  數: 
    -a  顯示目前資源限制的設定。  
    -c <core文件上限>  設定core文件的最大值,單位爲區塊。  
    -d <數據節區大小>  程序數據節區的最大值,單位爲KB。  
    -f <文件大小>  shell所能建立的最大文件,單位爲區塊。  
    -H  設定資源的硬性限制,也就是管理員所設下的限制。  
    -m <內存大小>  指定可使用內存的上限,單位爲KB。  
    -n <文件數目>  指定同一時間最多可打開的文件數。  
    -p <緩衝區大小>  指定管道緩衝區的大小,單位512字節。  
    -s <堆棧大小>  指定堆疊的上限,單位爲KB。  
    -S  設定資源的彈性限制。  
    -t <CPU時間>  指定CPU使用時間的上限,單位爲秒。  
    -u <進程數目>  用戶最多可啓動的進程數目。 
    -v <虛擬內存大小>  指定可使用的虛擬內存上限,單位爲KB。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章