进程的概念
进程查看
查看命令
ps
pstree
top
结论:
进程也是树形结构
进程和权限有着密不可分的关系
ps命令
(1)单独执行ps,查看的是当前终端能查看到的进程
user1@SC02ZRC4KMD6N ~ % ps
PID TTY TIME CMD
996 ttys000 0:00.06 -zsh
PID是进程id,TTY执行程序的终端,TIME进程运行的时间
(2)查看不同终端所有的进程
user1@SC02ZRC4KMD6N ~ % ps -e |more
PID TTY TIME CMD
1 ?? 0:09.44 /sbin/launchd
106 ?? 0:01.02 /usr/sbin/syslogd
(3)ps-ef命令可以查看更多信息
user1@SC02ZRC4KMD6N ~ % ps -ef | more
UID PID PPID C STIME TTY TIME CMD
0 1 0 0 11:15上午 ?? 0:09.58 /sbin/launchd
0 106 1 0 11:15上午 ?? 0:01.03 /usr/sbin/syslogd
UID进程是由哪个用户启动的,PPID是指父进程
(4)ps -eLf,可以查看某个线程
(5)pstree,将进程的父子关系用树状结构
top命令
查看进程的运行状态
user1@SC02ZRC4KMD6N ~ % top
top - 16:59:51 up 2 days, 22:46, 0 users, load average: 5.21, 7.10, 9.30
Tasks: 7 total, 1 running, 4 sleeping, 2 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1048576 total, 807760 free, 239040 used, 1776 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 809536 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 493776 47328 11896 S 0.0 4.5 0:37.42 smb
20 root 20 0 4504 708 640 S 0.0 0.1 0:00.41 sh
21 root 20 0 1194924 226696 32508 S 0.0 21.6 3:01.08 main
8520 root 20 0 19960 3712 3216 S 0.0 0.4 0:00.00 bash
8528 root 20 0 38356 3344 2896 T 0.0 0.3 0:00.08 top
8529 root 20 0 38356 3432 2984 T 0.0 0.3 0:00.00 top
8531 root 20 0 38360 3492 3044 R 0.0 0.3 0:00.00 top
命令详解如下:
(1)第一行
top - 16:59:51 up 2 days, 22:46, 0 users, load average: 5.21, 7.10, 9.30
2 days:系统以及多久没有关机了
0 user:系统当前总共的用户数
load average: 8.13, 9.76, 10.72:系统的平均负载,衡量系统的繁忙程度。三个指标分别是1分钟、5分钟、15分钟系统的平均负载
(2)第二行
Tasks: 7 total, 1 running, 4 sleeping, 2 stopped, 0 zombie
7 total:运行的进程数
1 running:1个进程在运行中
(3)第三行
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
xx us:多少百分比参与计算
xx sy:进程之间状态的交互
xx id:空闲
xx wa:IO wait
注意:如果有多个CPU,%Cpu(s)会取一个平均值。如果想查看每个CPU的使用情况,可以按1,效果如下:
%Cpu0 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu1 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
(4)第四行
KiB Mem : 1048576 total, 807760 free, 239040 used, 1776 buff/cache
1048576 total:一共有多少内存
807760 free:多少内存空闲
239040 used:多少内存已使用
1776 buff/cache:多少内存用于读写、缓存
(5)第五行
KiB Swap: 0 total, 0 free, 0 used. 809536 avail Mem
交换分区
(6)内存实际信息,可以看到每个进程占用的CPU和内存。默认是3秒更新一次,如果想更改更新时间,按‘s’来设置
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 493776 47328 11896 S 0.0 4.5 0:37.42 smb
20 root 20 0 4504 708 640 S 0.0 0.1 0:00.41 sh
21 root 20 0 1194924 226696 32508 S 0.0 21.6 3:01.08 main
8520 root 20 0 19960 3712 3216 S 0.0 0.4 0:00.00 bash
8528 root 20 0 38356 3344 2896 T 0.0 0.3 0:00.08 top
8529 root 20 0 38356 3432 2984 T 0.0 0.3 0:00.00 top
8531 root 20 0 38360 3492 3044 R 0.0 0.3 0:00.00 top