2020-11-13 14:46:00
Linux系统常用的查看进程命令包括以下七种:
ps 命令用于显示当前系统中正在运行的进程及其相关信息,如进程ID(PID)、用户、命令行、CPU/内存占用等。
基础用法:直接输入ps,默认显示当前用户会话的进程。
常用选项:
ps aux:显示所有用户的所有进程(包括后台进程)。
ps -ef:以完整格式显示所有进程,包含父进程ID(PPID)。
top 命令提供动态实时视图,持续刷新进程列表并显示资源占用情况(如CPU、内存、I/O等)。
基础用法:输入top后进入交互界面,按q退出。
关键信息:
顶部汇总区:显示系统整体状态(运行时间、负载、任务数等)。
进程列表区:按CPU占用排序,可切换排序字段(如内存、PID)。
pstree 命令以树形结构展示进程及其子进程的层级关系,便于可视化进程间的依赖。
基础用法:输入pstree,默认显示进程名缩写。
常用选项:
pstree -p:同时显示进程PID。
pstree -u:显示进程所属用户。
pidstat 命令监控单个或多个进程的统计信息,包括CPU时间、内存使用、I/O操作等。
基础用法:
pidstat -p <PID>:监控指定进程。
pidstat -u 1 3:每1秒刷新一次,共显示3次所有进程的CPU统计。
关键指标:
%CPU:进程CPU占用百分比。
VSZ/RSS:虚拟内存/实际内存使用量。
pmap 命令显示进程的内存映射详情,包括代码段、数据段、堆、共享库等占用情况。
基础用法:pmap -x <PID>,输出包含地址范围、权限、内存大小等信息。
应用场景:分析内存泄漏或优化内存配置时定位异常占用。
strace 命令跟踪进程的系统调用(如文件操作、网络请求),显示调用参数及返回值。
基础用法:
strace -p <PID>:附加到运行中的进程。
strace -f <command>:跟踪命令及其子进程的系统调用。
调试用途:排查权限问题、文件未找到等底层错误。
gdb 命令强大的进程调试工具,可检查运行时状态、设置断点、单步执行代码。
基础用法:
gdb <PID>:附加到运行中的进程。
gdb <executable> <coredump>:调试核心转储文件。
核心功能:
break <函数名>:设置断点。
step/next:单步执行代码。
总结: