1.ps查看进程
用于监控系统进程
# 查看所有进程信息
$ ps aux | head
#用户名 进程id VSZ=虚拟内存使用量 RSS=
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 126068 3616 ? Ss Oct29 14:45 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
root 2 0.0 0.0 0 0 ? S Oct29 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S Oct29 0:52 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S< Oct29 0:00 [kworker/0:0H]
root 7 0.0 0.0 0 0 ? S Oct29 1:04 [migration/0]
root 8 0.0 0.0 0 0 ? S Oct29 0:00 [rcu_bh]
root 9 0.0 0.0 0 0 ? R Oct29 14:09 [rcu_sched]
root 10 0.0 0.0 0 0 ? S Oct29 0:08 [watchdog/0]
root 11 0.0 0.0 0 0 ? S Oct29 0:05 [watchdog/1]
标题说明
USER 用户名
PID 进程ID
%CPU cpu平均使用率
%MEM 内存占用率
VSZ 虚拟内存大小
RSS 已使用的非交换分区内存大小
TYY 与进程关联的终端(tty)。进程是在哪个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序
STAT 进程当前状态
START 进程启动时间
TIME 进程已经消耗的 CPU 时间
COMMAND 启动进程的命令 还[]的为内核进程
STAT进程状态描述
D 不间断睡眠,通常为IO
R 正在运行或可运行,在运行队列上
S 等待休眠(等待某个事件完成)
T 接收停止信号的停止状态
t 正在调试时的终止状态
Z 僵尸进程
BSD格式会有如下状态
< 高优先级
N 低优先级
L 已将页面锁定在内存中(用于实时和自定义IO)
s 主会话
I 多线程
+ 表示在前台进程组中
查看进程树
$ ps axjf
PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND
1 1158 1158 1158 ? -1 Ss 0 3:33 sendmail: accepting connections
1 1520 1520 1520 ? -1 Ss 51 0:00 sendmail: Queue runner@01:00:00 for /var/spool/clientmqueue
1 2073 2073 2073 ? -1 Ss 0 0:00 nginx: master process /usr/sbin/nginx
2073 2074 2073 2073 ? -1 S 995 0:46 \_ nginx: worker process
2073 2075 2073 2073 ? -1 S 995 0:53 \_ nginx: worker process
1 2246 2246 2246 ? -1 Ss 0 0:05 /usr/sbin/sshd -D
2246 4148 4148 4148 ? -1 Ss 0 0:00 \_ sshd: ck168279120 [priv]
4148 4206 4148 4148 ? -1 S 4421 0:00 | \_ sshd: ck168279120@pts/23
4206 4207 4207 4207 pts/23 4207 Ss+ 4421 0:00 | \_ -bash
2246 4848 4848 4848 ? -1 Ss 0 0:00 \_ sshd: 18871501 [priv]
4848 4850 4848 4848 ? -1 S 1764 0:00 | \_ sshd: 18871501@pts/57
4850 4851 4851 4851 pts/57 4851 Ss+ 1764 0:00 | \_ -bash
2246 13871 13871 13871 ? -1 Ss 0 0:00 \_ sshd: lg59394618 [priv]
13871 13891 13871 13871 ? -1 S 4688 0:00 | \_ sshd: lg59394618@pts/2
13891 13892 13892 13892 pts/2 13892 Ss+ 4688 0:00 | \_ -bash
2246 11155 11155 11155 ? -1 Ss 0 0:00 \_ sshd: lg58675991 [priv]
11155 11157 11155 11155 ? -1 S 4566 0:00 | \_ sshd: lg58675991@pts/0
11157 11158 11158 11158 pts/0 15970 Ss 4566 0:00 | \_ -bash
11158 15970 15970 11158 pts/0 15970 S+ 4566 0:00 | \_ man uniq
15970 15981 15970 11158 pts/0 15970 S+ 4566 0:00 | \_ less -s
2246 12252 12252 12252 ? -1 Ss 0 0:00 \_ sshd: lg52703211 [priv]
12252 12254 12252 12252 ? -1 S 4584 0:00 | \_ sshd: lg52703211@pts/1
12254 12255 12255 12255 pts/1 12255 Ss+ 4584 0:00 | \_ -bash
12255 15778 15778 12255 pts/1 12255 T 4584 0:00 | \_ vim 1.txt
12255 15874 15874 12255 pts/1 12255 T 4584 0:00 | \_ vim 2.txt
2.kill进程
kill命令是发送一个信号给进程
#默认 singnal是TERM
$ kill single pid|name
#杀死所有进程
$ killall name
强制关闭进程
$ kill -9 pid
关闭name的所有实例
$ killall name
3.TOP查看进程使用情况
$ top
# 当前时间,系统运行时间 42天+5小时41分,当前登录用户数32,1分钟 5分钟 15分钟的系统负载
top - 16:59:13 up 42 days, 5:41, 32 users, load average: 0.01, 0.02, 0.05
# 进程总数225, 1个正在运行, 209个你睡眠 , 14个停止, 1个僵尸进程
Tasks: 225 total, 1 running, 209 sleeping, 14 stopped, 1 zombie
#用户进程CPU占比,us
#系统CPU占比,sy
#改变过优先级的占比,ni
#当前空闲CPU占比,id
#IO等待CPU占比,wa
#硬中断,软中断,虚拟机管理程序 hi si st
%Cpu(s): 1.7 us, 0.9 sy, 0.0 ni, 97.1 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st
# 物理内存总量 空闲内存 已使用内存 缓存
KiB Mem : 3881920 total, 121468 free, 439520 used, 3320932 buff/cache
# 交换区总量 空闲 已使用 缓存
KiB Swap: 0 total, 0 free, 0 used. 1022004 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
457 root 20 0 1053844 36784 5024 S 12.5 0.9 116:36.87 CmsGoAgent.linu
12900 66294790 20 0 157700 2176 1504 R 6.2 0.1 0:00.01 top
1 root 20 0 126068 3616 1464 S 0.0 0.1 14:48.19 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.65 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:52.50 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
7 root rt 0 0 0 0 S 0.0 0.0 1:04.51 migration/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
9 root 20 0 0 0 0 S 0.0 0.0 14:11.37 rcu_sched
10 root rt 0 0 0 0 S 0.0 0.0 0:08.25 watchdog/0
11 root rt 0 0 0 0 S 0.0 0.0 0:05.66 watchdog/1
12 root rt 0 0 0 0 S 0.0 0.0 1:04.52 migration/1
13 root 20 0 0 0 0 S 0.0 0.0 0:40.05 ksoftirqd/1
15 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/1:0H
17 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs
18 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 netns
19 root 20 0 0 0 0 S 0.0 0.0 0:01.00 khungtaskd
进程标题说明
PR 优先级,较小的优先级高
NI nice值,负值为高优先级
VIRT 虚拟内存使用量
RES 使用的未被换出的物理内存大小
SHR 共享内存大小
S 进程状态
D 不可中断的睡眠状态
R 运行中
S 睡眠
T 跟踪或停止
Z 僵尸进程
TIME+ 进程使用的CPU时间总计,1/100S
常用选项
-b:以批量模式运行,但不能接受命令行输入;
-c:显示命令行,而不仅仅是命令名;
-d time:每time秒刷新一次,可与-b选项配合使用,比如 -d 2,表示每2秒刷新一次
-i:不显示空闲进程和僵尸进程;
-n:最大读取次数,完成后退出top。比如 -n 5,表示top读取5次数据就退出;
-p:指定PID,仅监视指定进程的ID;PID是一个数值;
-u:指定用户
-s:安全模式运行,禁用一些效互指令;
-S:累积模式,输出每个进程的总的CPU时间,包括已死的子进程;