hp_unix B11.31进程数过多

本文介绍了HP-UX系统中进程限制的相关内核参数maxuprc和nproc的作用及调整方法。当maxuprc设置过大且达到其上限时,会导致大多数系统命令无法执行,即使root用户也无法远程登录。文章提供了如何通过kctune命令调整这两个参数的方法。
摘要由CSDN通过智能技术生成
Unix和kctune-maxuprc/nproc (2010-09-19 16:15)
分类: HP Unix


在HP Unix有两个可以限制系统最大进程数的内核参数:maxuprc(max user processes)和nproc(the number of system processes);maxuprc只对普通用户生效,对root用户不生效,只有nproc才对root生效。

以下的这段日志是因为普通用户的maxuprc开的太大,即开成了maxuprc + 5 = nproc (最大值)而且应用程序发生了大量的僵尸进程(defunct)并达到了maxuprc的值引起的。基本所有的系统命令不能执行,root用户也不能远程登录。


GenericSysName [HP Release B.11.31] (see /etc/issue)
Console Login: root
Please wait...checking for disk quotas
could not execute quota command

- - - - - - - - - - - - Live Console - - - - - - - - - - - -
/etc/profile[30]: The fork function failed. Too many processes already exist.
/etc/profile[47]: The fork function failed. Too many processes already exist.

syslog中有proc table is full 的报错,这说明nproc也用满了。


发生这种情况之后,假如还有一个已登录的终端的话,可以用exec kill 来尝试杀某个进程(猜吧),如果成功,ps就可以执行了。然后再做响应处理。

我当前的系统nproc默认值是4200,maxuprc的默认值是256。maxuprc比较容易满,可以适当加大。

# kctune |grep nproc
nproc 4200 Default Immed
# uname -a
HP-UX hpux B.11.31 U 9000/800 1071694491 unlimited-user license

加大方法:

kctune maxuprc+=1024 (增加1024)

nproc大最大值我个人认为跟系统配置有关系,但肯定不能超过65535。

在HP-UX hpux B.11.31 U 9000/800 1071694491上调大maxuprc和nproc,不必重启就可以工作。

# kctune nproc+=4000
==> Update the automatic 'backup' configuration first? y
* The automatic 'backup' configuration has been updated.
* Future operations will update the backup without prompting.
* The requested changes have been applied to the currently
running configuration.
Tunable Value Expression Changes
nproc (before) 4200 Default Immed
(now) 8200 8200

用下句来测试建立6000个进程:

i=1; while :; do nohup sleep 200 & ((i=$i + 1)); echo Now No is $i;if [ $i -eq 6000 ]; then echo === Now No is $i ====; break;fi; done

我的大致理解是这样。在实际环境中还需要具体测试。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22521389/viewspace-746112/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22521389/viewspace-746112/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值