Linux 性能调优命令
ps
ps auxf
- ps:显示系统中当前的进程信息。
- a:显示与终端无关的所有进程(即显示所有用户的进程)。
- u:以用户友好的格式显示进程信息,包括用户、CPU 和内存使用情况。
- x:显示没有控制终端的进程,例如守护进程(daemon)。
- f:以 ASCII 字符显示进程的树状结构,表达进程间的相互关系。
如果一般不进行调试的或什么的f
参数一般不用,用了的话有如下效果:
列名 | 含义 |
---|---|
USER | 启动进程的用户。 |
PID | 进程的唯一标识符(Process ID)。 |
%CPU | 该进程消耗的 CPU 使用率的百分比。 |
%MEM | 该进程使用的物理内存占总内存的百分比。 |
VSZ | 虚拟内存使用量(Virtual Memory Size),单位为 KB。 |
RSS | 常驻内存集(Resident Set Size),即该进程占用的实际物理内存,单位为 KB。 |
TTY | 终端设备号,表示进程是由哪个终端发起的。如果是 ?,表示与终端无关。 |
STAT | 进程状态(State)。 |
START | 进程启动时间或日期。 |
TIME | 进程使用的 CPU 总时间(累积时间)。 |
COMMAND | 启动进程时的完整命令。 |
STAT 列显示进程的状态,可以是以下值的组合:
字符 | 含义 |
---|---|
R | 正在运行或在运行队列中。 |
S | 休眠状态,正在等待事件完成。 |
D | 不可中断的休眠状态(通常是 I/O 进程)。 |
Z | 僵尸进程(Zombie process)。 |
T | 暂停状态(暂停或被调试中)。 |
I | 空闲内核线程(在现代内核中常见)。 |
+ | 该进程是前台进程组中的进程。 |
N | 进程的优先级较低(Nice 值增加)。 |
< | 进程的优先级较高(Nice 值减少)。 |
ps -lf -p <pid>
- -l:参数用于显示进程的详细格式信息(long format)。它提供了比默认输出更多的进程信息字段,帮助用户深入分析进程的状态和属性。
- -p:指定需要查看的进程
列名 | 含义 |
---|---|
F | 进程的标志(Flags)。用数字表示一些特定的进程属性,例如:1: 进程为系统守护进程(运行在内核态)。4: 进程不可中断(通常是等待 I/O)。 |
UID | 进程所属用户的用户 ID。 |
PID | 进程 ID。 |
PPID | 父进程 ID。 |
C | 进程的 CPU 使用率(一个时间段内占用 CPU 时间的百分比)。 |
PRI | 进程的优先级(Priority)。数字越小优先级越高。 |
NI | 进程的 Nice 值,用于调整优先级(范围:-20 到 19)。 |
ADDR | 进程在内存中的地址(通常是内核进程的地址)。用户进程一般为 -。 |
SZ | 进程的虚拟内存大小(单位是页,通常一个页为 4KB)。 |
WCHAN | 进程正在等待的内核函数(如果为空,表示进程正在运行)。 |
STAT | 进程状态(与 ps aux 中的 STAT 列相同)。 |
TTY | 进程关联的终端。 |
TIME | 进程运行的 CPU 总时间。 |
CMD | 启动进程的命令。 |
其中WCHAN
是个很重要的信息,让我们进程卡死时,可以初步查看是什么东西让进程卡死