首页/系统/Linux 运维命令速查/lsof 直查进程句柄问题
本包目录(613 条)
文件与目录76 条文本处理77 条网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条
日志与排查40 条
systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

lsof 直查进程句柄问题

服务报 Too many open files、文件消失、端口占用:lsof 按进程/文件列出句柄,与 ulimit 搭配定位句柄泄漏与配置错位。

Linux 运维命令速查系统更新于 2026-10-12
用途查看进程打开的文件与句柄上限
语法lsof -p PID / lsof -u 用户 / -i 网络
所属lsof

常用示例

常用示例
lsof -p $(pgrep -f app.jar | head -1) | wc -l
lsof -p PID | awk '{print $5}' | sort | uniq -c | sort -rn | head
cat /proc/PID/limits | grep -i 'open files'
ls /proc/PID/fd | wc -l
Too many open files 三件套:ulimit -n(会话)、/etc/security/limits.conf、服务单元 LimitNOFILE 都要查。

易错点

  • limits.conf 对 systemd 服务不生效:服务走单元文件 LimitNOFILE 或 systemd 全局 DefaultLimitNOFILE
  • 句柄计数包含管道/socket/匿名 inode,只看普通文件会低估总量

数据来源与参考

  • man 8 lsof
  • man 5 limits.conf

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌