Linux查进程是不是在跑?直接敲:
`ps -ef | grep 进程名` 或 `ps -p 进程号`(知道PID的话)
常用参数速记
- `-e`:全端展示,所有进程一个不落
- `-f`:完整格式,看爹妈、启动时间、命令全都有
- `-a`:连别人终端跑的也给你揪出来
- `-r`:只显示正在吭哧吭哧干活的(非睡眠/僵尸态)
- `-p 1234`:精准点名查某个PID
查进程开了多少文件?
→ 直接看 `/proc/进程号/fd/` 这个目录!里面每个小文件都是一个打开的句柄(比如 `0→/dev/pts/0`,`3→/var/log/app.log`),数一数有多少个,就是开了多少文件~
默认上限是1024,太小了容易崩!
`ulimit -n` 看当前限制
改大点?编辑 `/etc/security/limits.conf`,加两行:
* soft nofile 65535
* hard nofile 65535
(`*` 是所有用户;想只改某用户?把 `*` 换成用户名就行)
?? 改完得重新登录或重启生效,光source不顶用!
查哪个进程在疯狂创建/占用某个文件或目录?
- `lsof /path/to/file`(推荐!清晰又准)
- `fuser -v /path/to/dir`(谁在用这个目录,一目了然)
- `ps -ef | grep 关键词`(适合快速捞一眼)
查进程详细信息?这些命令闭眼抄
- `lsof -p 1234` → 它打开了哪些文件?
- `cat /proc/1234/status` → 内存、状态、UID、线程数…全在这儿
- `cat /proc/1234/maps` → 内存怎么分的(堆/栈/共享库位置)
- `pstack 1234` → 当前函数调用栈(卡死时救命用)
- `strace -p 1234` → 实时抓它发了哪些系统调用(IO、网络、信号…)
- `ltrace -p 1234` → 抓它调了哪些库函数(比如 malloc、printf)
查进程运行状态?别写代码折腾了!
? 简单监控:写个脚本定时 `ps -C 进程名 -o pid=`,返回空就挂了,立马告警!
? 进阶监控:读 `/proc/PID/status` 里的 `State:`(R=运行中,S=睡眠,Z=僵尸…),再配合 `VmRSS:` 看实际内存占用,比top还准~
够用了吧?别卷了,先试起来再说
`ps -ef | grep 进程名` 或 `ps -p 进程号`(知道PID的话)
常用参数速记
- `-e`:全端展示,所有进程一个不落
- `-f`:完整格式,看爹妈、启动时间、命令全都有
- `-a`:连别人终端跑的也给你揪出来
- `-r`:只显示正在吭哧吭哧干活的(非睡眠/僵尸态)
- `-p 1234`:精准点名查某个PID
查进程开了多少文件?
→ 直接看 `/proc/进程号/fd/` 这个目录!里面每个小文件都是一个打开的句柄(比如 `0→/dev/pts/0`,`3→/var/log/app.log`),数一数有多少个,就是开了多少文件~
默认上限是1024,太小了容易崩!
`ulimit -n` 看当前限制
改大点?编辑 `/etc/security/limits.conf`,加两行:
* soft nofile 65535
* hard nofile 65535
(`*` 是所有用户;想只改某用户?把 `*` 换成用户名就行)
?? 改完得重新登录或重启生效,光source不顶用!
查哪个进程在疯狂创建/占用某个文件或目录?
- `lsof /path/to/file`(推荐!清晰又准)
- `fuser -v /path/to/dir`(谁在用这个目录,一目了然)
- `ps -ef | grep 关键词`(适合快速捞一眼)
查进程详细信息?这些命令闭眼抄
- `lsof -p 1234` → 它打开了哪些文件?
- `cat /proc/1234/status` → 内存、状态、UID、线程数…全在这儿
- `cat /proc/1234/maps` → 内存怎么分的(堆/栈/共享库位置)
- `pstack 1234` → 当前函数调用栈(卡死时救命用)
- `strace -p 1234` → 实时抓它发了哪些系统调用(IO、网络、信号…)
- `ltrace -p 1234` → 抓它调了哪些库函数(比如 malloc、printf)
查进程运行状态?别写代码折腾了!
? 简单监控:写个脚本定时 `ps -C 进程名 -o pid=`,返回空就挂了,立马告警!
? 进阶监控:读 `/proc/PID/status` 里的 `State:`(R=运行中,S=睡眠,Z=僵尸…),再配合 `VmRSS:` 看实际内存占用,比top还准~
够用了吧?别卷了,先试起来再说

