12、linux系统管理-进程
程序员文章站
2022-05-13 15:34:10
...
1.ps-ef
- UID:用户名
- PID:进程ID
- PPID:父进程ID
- c:进程占用CPU时间
- STIME:进程启动到现在时间
- TTY:进程在哪一个终端运行,若于终端无关,就是
?
- TIME:该进程实际使用CPU时间
- CMD:命令的名称和参数
2.ps-aux
- USER:用户名
- PID:进程名
- %CPU:进程占用CPU时间
- %MEM:占用内存的百分比
- VSZ:该进程使用的虚拟内存量
- RSS:该进程占用的物理内存量
- TTY:进程在哪一个终端运行,若于终端无关,就是
?
- START:进程开始时间
- TIME:该进程实际使用CPU时间
- STAT:进程状态
- D 无法中断的休眠状态(通常 IO 的进程)
- R 正在运行可中在队列中可过行
- S 处于休眠状态
- T 停止或被追踪
- W 进入内存交换 (从内核2.6开始无效)
- X 死掉的进程 (基本很少见)
- Z 僵尸进程
- < 优先级高的进程
- N 优先级较低的进程
- L 有些页被锁进内存;
- s 进程的领导者(在它之下有子进程)
- l 多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads)
-
+
位于后台的进程组
3.top
第一行内容
内容 | 说明 |
---|---|
16:58:01 | 系统当前时间 |
up 5 days, 7:06 | 系统的运行时间,本机已经运行 5 天 7 小时6 分钟 |
11 users | 当前登录了11个用户 |
load average: 5.71, 5.91, 5.13 | 系统在之前 1 分钟,5 分钟,15 分钟的平均负载。 如果 CPU 是单核,则这个数超过 1,就是高负载。 如果 CPU 是四核,则这个数超过 4,就是高负载。 (这个平均负载完全是个人经验来进行判断的, 一般认为不应该超过服务器 CPU 的核数。) |
第二行内容
内容 | 说明 |
---|---|
Tasks: 366 total | 系统中的进程总数 |
2 running | 正在运行的 |
364 sleeping | 睡眠的进程 |
0 stopped | 正在停止的进程 |
0 zombie | 僵尸进程 |
第三行内容
内容 | 说明 |
---|---|
22.5 us | 用户模式占用的 CPU 百分比 |
11.1 sy | 系统模式占用的 CPU 百分比 |
0.0 ni | 改变过优先级的用户进程占用的 CPU 百分比 |
54.0 id | 空闲 CPU 的 CPU 百分比 |
10.4 wa | 等待输入/输出的进程的占用 CPU 百分比 |
0.0 hi | 硬中断请求服务占用的 CPU 百分比 |
2.0 si | 软中断请求服务占用的 CPU 百分比 |
0.0 st | st(Steal time)虚拟时间百分比。就是当有 虚拟机时,虚拟 CPU 等待实际 CPU 的时间百分比 |
第四行内容
内容 | 说明 |
---|---|
65800664 total | 物理内存的总量,单位 KB |
6289940 free | 空闲的物理内存数量 |
10302152 used | 已经使用的物理内存数量 |
49208572 buff/cache | 作为缓冲的内存数量 |
第五行内容
内容 | 说明 |
---|---|
0 total | 虚拟内存的总大小 |
0 free | 空闲分区 |
0 used | 使用过的分区 |
最后一部分输出
- PID:进程 ID
- USER:该进程所属的用户
- PR:优先级,数值越小优先级越高
- NI:优先级,数值越小优先级越高
- VIRT:该进程使用的虚拟内存的大小,单位 KB
- RES:该进程使用的物理内存的大小,单位 KB
- SHR:共享内存大小,单位 KB
- S:进程状态
- %CPU:该进程占用 CPU 的百分比
- %MEM:该进程占用内存的百分比
- TIME+:该进程总共占用的 CPU 时间
- COMMAND:进程的命令名
3.1.top其它命令
shift + m 按内存大小进行降序
shift + p 按CPU大小进行降序
top -b -n 1 > /root/top.log 将top输出的内容保存到文件中
4.pstree
5.kill 进程
kill -1 2246
#使用“-1(数字一)”信号,让httpd的主进程重启动。
kill -9 2246
# 强制杀死进程
6.killall
killall [选项] [进程名]
选项:
-i:交互式,询问是否要杀死某一个进程
-I:忽略大小写
killall -i sshd
#交互式杀死sshd进程 杀死 sshd(1733) ? (y/N) n
#这个进程是sshd的服务进程,如果杀死,所有的sshd连接都不能登录。 杀死 sshd(1735) ? (y/N) n
#这是我当前登录终端,不能杀死我自己吧! 杀死 sshd(1758) ? (y/N) y #把另外一个sshd登录终端踢出。