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代表的是标准输入文件、标准输出文件和标准错误输出文件。有时候需要对句柄数算得比较精确,别忘了


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部