linux进程数满了,Linux系统中打开句柄数达到上限的处理
Linux系统中的进程都会打开一定数量的句柄,如果所打开的句柄超过了限制,则会导致之后的申请失败。
使用以下命令可以查看进程的句柄数软上限:
ulimit -n
更为详细的信息可以查看/etc/security/limits.conf,其中如下内容即为单一进程能打开最大句柄数的硬限制和软限制:
* hard nofile 32768
* soft nofile 4096
可以直接修改此文件,保存即生效。一般句柄数达到上限可以看看是不是需要调大数字了。
查看系统中所有打开的文件可以使用lsof命令,运行的时候别忘了在root权限下。
简单介绍一下这个命令一些常用用法。
lsof /dev/null:列出文件/dev/null的打开情况;
lsof +d /dev/:列出目录/dev/下文件的打开情况;
lsof -u root:列出root相关进程的文件打开情况;
lsof -n:对网络文件不进行IP地址到主机名的解析,这将加快速度。
更多的信息可以通过man查看。
使用如下命令可以按句柄数由高到低列出所有进程:
lsof -n | awk
'NR>1{printf("%8d%16s%16s\n",
$2, $3, $1)}' | sort | uniq -c | sort -k1nr -k3,4 -k2n
命令中格式和排序调整只是个人喜好。
我们将发现很多句柄数为3的进程,这个3代表的是标准输入文件、标准输出文件和标准错误输出文件。有时候需要对句柄数算得比较精确,别忘了
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
