Linux 性能调优命令

image

from pixiv

ps

ps auxf

  • ps:显示系统中当前的进程信息。
  • a:显示与终端无关的所有进程(即显示所有用户的进程)。
  • u:以用户友好的格式显示进程信息,包括用户、CPU 和内存使用情况。
  • x:显示没有控制终端的进程,例如守护进程(daemon)。
  • f:以 ASCII 字符显示进程的树状结构,表达进程间的相互关系。

如果一般不进行调试的或什么的f参数一般不用,用了的话有如下效果:
image

列名 含义
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 值减少)。

image

ps -lf -p <pid>

  • -l:参数用于显示进程的详细格式信息(long format)。它提供了比默认输出更多的进程信息字段,帮助用户深入分析进程的状态和属性。
  • -p:指定需要查看的进程

image

列名 含义
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是个很重要的信息,让我们进程卡死时,可以初步查看是什么东西让进程卡死

然后接下来可以使用stracefstack进一步发掘原因

posted @ 2024-12-22 21:53  次林梦叶  阅读(36)  评论(0)    收藏  举报