学习啦 > 学习电脑 > 操作系统 > Linux教程 > Linux系统中查看进程信息的命令详解

Linux系统中查看进程信息的命令详解

时间: 佳洲1085 分享

Linux系统中查看进程信息的命令详解

  Linux系统中有很多进程是一直在运行的,我们要怎么查看它们的具体状态信息呢?下面由学习啦小编为大家整理了Linux系统中查看进程信息的命令详解,希望对大家有帮助!

  Linux系统中查看进程信息的命令详解:一、静态进程查看 ps

  ps命令格式: ps -aux 查看系统所有进程

  ps -lA 查看所有系统的数据

  ps axjf 连通部分进程树状态

  -A:与-e意思一样,表列出所有进程

  -a :不与terminal有关的进程

  -u:有效用户相关的进程

  x:通常与a这个参数一起用,可以列出完整信息

  输出格式: l:较仔细列出该pid信息

  j:工作格式

  -f:做一个更为完整的输出

  ps -l:仅查看自己的bash相关进程

  [plain] view plain copyzhouyl@ubuntu:~$ ps -l

  F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD

  0 S 1000 20257 20248 0 80 0 - 6067 wait pts/7 00:00:00 bash

  0 R 1000 21392 20257 0 80 0 - 2466 - pts/7 00:00:00 ps

  F:进程标志

  4:表示权限为root

  1:表示只能复制,不能执行

  S:表示进程的状态(STAT)

  R:running表示正在运行状态

  S:sleep表示沉睡状态,但是可以唤醒

  D:表示沉睡状态,不能唤醒,通常这个进程可能在等待I/O的情况

  T:stop表示停在状态,例如暂停的后台工作或出错进程

  Z:僵尸进程,进程已经终止但不能提出内存外

  UID/PID/PPID:表示用户的UID/进程的PID号码/此进程的父进程PID号码

  C:表示CPU的使用率,单位是百分比

  PRI/NI:表示此进程被CPU执行的优先级,数字越小,优先级越高

  ADDR:支持该进程在内存的那个部分,若该进程正在运行这表示为“-”

  SZ:表示该进程占用了多少内存

  WCHAN:表示该进程是否运行,若在运行这表示为“-”

  TTY:表示登陆终端,若是远程登陆表示为pts/h

  TIME:表示该进程使用CPU的时间

  CMD:command,表示那个命令启动的该进程

  下面介绍 ps -aux 查看系统所有进程

  [plain] view plain copy<span style="font-size:18px">zhouyl@ubuntu:~$ ps aux

  USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

  root 1 0.0 0.0 24564 2444 ? Ss 08:19 0:00 /sbin/init

  root 2 0.0 0.0 0 0 ? S 08:19 0:00 [kthreadd]

  root 3 0.0 0.0 0 0 ? S 08:19 0:04 [ksoftirqd/0]

  </span>

  USER:表示该进程所属用户

  PID:该进程的PID号

  %CPU:表示该进程的CPU占用率

  %MEM:表示该进程的物理内存占用率

  VSZ:表示该进程占用了多少虚拟内存量

  RSS:表示该进程占用了多少固定内存量

  TTY:表示登陆端口

  STAT:和上面介绍的进程状态一样(R/S/D/T/Z进程)

  START:该进程触发启动的时间

  TIME:表示该进程占用CPU的时间

  COMMAND:表示触动该进程的命令

  僵尸进程

  通常,造成僵尸进程的原因是该进程应该已经执行完毕,或是因故应该要终止了,但是该进程的父进程却无法完整将该进程结束掉,而造成那个进程一直在内存当中。如果你发现某个进程的CMD后面接上<defunct>时,就代表该进程是僵尸进程,例如:

  1 2598 2598 2598 ? -1 Ss 0 0:00 /usr/sbin/hcid<defunct>

  当系统不稳定的时候就容易造成所谓的僵尸进程,可能是因为程序写的不好,或者用户操作不当所造成的。如果系统出现很多僵尸进程,记得要找出父进程,然后好好跟踪,好好优化主机环境。如果实在不行就只有reboot了

  Linux系统中查看进程信息的命令详解:二、动态进程:top

  top命令格式

  [plain] view plain copy<span -bnp]

  -d:表示界面刷新时间,单位秒,默认是5秒

  -b:以批次的方式进行top,还有更多的参数可以使用

  通常会搭配数据重定向来讲批处理的结果输出成为文件

  -n:与-b搭配,意思是需要进行几次top的输出结果

  -p:查看直接进程,后面接进程号

  ?:显示在top当中可以输入的按键命令

  P:以cpu使用率来排名

  M:以内存的使用率来排名

  N:以PID来排名

  T:以进程使用CPU时间累加排名

  k:给予某个PID一个信号

  r:给予某个PID重新制定一个nice值

  q:退出离开 </span>

  [plain] view plain copy<span style="font-size:18px">zhouyl@ubuntu:~$ top

  top - 10:44:15 up 2:24, 6 users, load average: 2.09, 2.70, 2.98

  Tasks: 209 total, 3 running, 206 sleeping, 0 stopped, 0 zombie

  Cpu(s): 29.9%us, 17.4%sy, 0.0%ni, 52.4%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st

  Mem: 5046272k total, 4752156k used, 294116k free, 1291300k buffers

  Swap: 262140k total, 16k used, 262124k free, 1516100k cached

  PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

  2813 zhouyl 20 0 1269m 200m 41m R 28 4.1 33:49.24 compiz

  1478 root 20 0 247m 130m 18m S 18 2.6 25:49.51 Xorg

  3972 zhouyl 20 0 1707m 71m 35m S 10 1.5 14:19.49 vlc

  3218 zhouyl 20 0 806m 158m 49m S 6 3.2 16:19.85 chrome

  3607 zhouyl 20 0 985m 130m 27m S 6 2.6 2:05.07 chrome </span>

  这里有六行

  第一行:表示现在时间,系统开机到现在的时间,多少登陆用户。负载均衡,在1、5、15分钟系统平均运行几个进程的意思,越小代表系统越闲置,若高于1得注意你的系统压力是否太过繁复了

  第二行:表示系统共运行了多少进程,他们分别的运行状态,注意后面的zombie一般为0如果为其他数,就要注意了,看看到是那个进程是僵尸进程

  第三行:表示当下CPU整体负载,需要特别注意的是%wa,这个选项代表的是I/Owait,通常你的系统会变慢都是I/O产生的问题比较大,如果你是多核设备可以按“1”切换查看不同的CPU负载情况

  下面是我们在 top 命令看到的 CPU 占用率信息及各项值含义:

  Cpu(s): 29.9%us, 17.4%sy, 0.0%ni, 52.4%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st

  us: User time 用户时间(User time):表示 CPU 执行用户进程的时间,包括 nices 时间。通常期望用户空间 CPU 越高越好。

  sy: System time 系统时间(System time):表示 CPU 在内核运行时间,包括 IRQ 和 softirq 时间。系统 CPU 占用率高,表明系统某部分存在瓶颈。通常值越低越好。

  ni: Nice time Nice 时间(Nice time):系统调整进程优先级所花费的时间。

  id: Idle time 空闲时间(Idle time):系统处于空闲期,等待进程运行。

  wa: Waiting time 等待时间(Waiting time):CPI 在等待 I/O 操作完成所花费的时间。系统部应该花费大量时间来等待 I/O 操作,否则就说明 I/O 存在瓶颈。

  hi: Hard Irq time 硬中断处理时间(Hard Irq time):系统处理硬中断所花费的时间。

  si: SoftIrq time 软中断处理时间(SoftIrq time):系统处理软中断中断所花费的时间。

  st: Steal time 丢失时间(Steal time):被强制等待(involuntary wait)虚拟 CPU 的时间,此时 hypervisor 在为另一个虚拟处理器服务。

  第四行与第五行:表示物理内存与虚拟内存使用的情况,swap的使用要越低越好,如果swap使用率较高表示物理内存不足

  第六行及以下:

  PID:是进程ID

  USER:该进程所属用户

  PR:priority的缩写,进程的优先级,值越小优先级越高

  NI:nice的缩写,与priority有关,值越小优先级越高

  %CPU:CPU的使用率

  %MEM:内存使用率

  TIME+:CPU使用时间的累加

  值得注意的是:在top中输入h或者?,可以显示帮助

  Linux系统中查看进程信息的命令详解:三、查看进程树命令:pstree

  pstree命令格式

  [plain] view plain copypstree [-A|U] [-up]

  -A:各进程间连接用ASCII字符连接

  -U:该进程之间连接用utf8字符连接

  -p:同时显示PID

  -u:同时列出每个进程的所属账号名称

  zhouyl@ubuntu:~$ pstree -Aup

  init(1)-+-NetworkManager(1344)-+-dhclient(1707)

  | |-dnsmasq(2560,nobody)

  | |-dnsmasq(2645,nobody)

  | |-{NetworkManager}(1374)

  | `-{NetworkManager}(1708)

  |-accounts-daemon(2184)---{accounts-daemon}(2185)

  |-acpid(1417)

  |-atd(1429,daemon)

  |-avahi-daemon(1331,avahi)---avahi-daemon(1332)

  |-bamfdaemon(2892,zhouyl)---{bamfdaemon}(2896)

  |-bluetoothd(1319)

  |-chrome(3218,zhouyl)-+-chrome(3313)

  | |-chrome(3690)-+-{chrome}(3693)

  | | |-{chrome}(3694)

  | | `-{chrome}(3695)

  | |-chrome(3718)-+-{chrome}(3719)

  | | |-{chrome}(3720)

  | | `-{chrome}(3721)

  [plain] view plain copy<pre></pre><pre></pre><pre></pre><pre></pre><pre></pre><pre></pre><pre></pre><pre></pre>

3636891