版权声明:作者-傲娇天子 博文主页地址:https://blog.csdn.net/qq_41116956 欢迎转载,转载请在文章页面明显位置给出原文链接,谢谢 https://blog.csdn.net/qq_41116956/article/details/82896913
首先说一下进程常识:
centos5/6 PID 为 1 的进程是: init
centos7 PID 为 1 的进程是: systemd
见下:
Centos-5/6
[root@CactiEZ ~]# ps -aux | head -2
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 19208 1540 ? Ss Sep19 0:01 /sbin/init
Centos-7
[root@localhost ~]# ps -aux | head -2
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.5 126476 5548 ? Ss 9月20 0:18 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
ps命令:
常用的方法又2种:
①:ps -aux
[root@localhost ~]# ps -aux |head
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.5 126476 5548 ? Ss 9月20 0:18 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
root 2 0.0 0.0 0 0 ? S 9月20 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 9月20 0:01 [ksoftirqd/0]
root 7 0.0 0.0 0 0 ? S 9月20 0:00 [migration/0]
root 8 0.0 0.0 0 0 ? S 9月20 0:00 [rcu_bh]
root 9 0.0 0.0 0 0 ? S 9月20 0:00 [rcuob/0]
root 10 0.0 0.0 0 0 ? S 9月20 0:00 [rcuob/1]
root 11 0.0 0.0 0 0 ? S 9月20 0:00 [rcuob/2]
root 12 0.0 0.0 0 0 ? S 9月20 0:00 [rcuob/3]
说明:“[]”是内核态执行的进程,没有的就是用户态执行的进程,如:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 5620 0.0 0.1 141576 1688 pts/0 R+ 14:38 0:00 ps -aux
列表内容说明:
[root@localhost ~]# ps -aux |head
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
用户 进程号 cpu使用率 内存使用率 虚拟内存 物理内存 终端号 程序状态 启动时间 使用时间 命令
这个已经很实用了,如果需要详细信息见下内容:
部分详细说明
VSZ:进程占用的虚拟内存大小(单位:KB)
RSS:进程占用的物理内存大小(单位:KB)
STAT:该程序目前的状态,Linux 进程有 5 种基本状态:
R :该程序目前正在运作,或者是可被运作;
S :该程序目前正在睡眠当中,但可被某些讯号(signal) 唤醒。
T :该程序目前正在侦测或者是停止了;
Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie 程序的状态
D :不可中断状态.
5 个基本状态后,还可以加一些字母:
它们含意如下::
<: 表示迚程运行在高优先级上
N: 表示迚程运行在低优先级上
L: 表示迚程有页面锁定在内存中
s: 表示迚程是控制迚程
l: 表示迚程是多线程的
+: 表示弼前迚程运行在前台
START:该 process 被触发启劢的时间;
TIME :该 process 实际使用 CPU 运作的时间。
②:ps -ef
[root@localhost ~]# ps -ef | head
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 9月20 ? 00:00:18 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
root 2 0 0 9月20 ? 00:00:00 [kthreadd]
root 3 2 0 9月20 ? 00:00:01 [ksoftirqd/0]
root 7 2 0 9月20 ? 00:00:00 [migration/0]
root 8 2 0 9月20 ? 00:00:00 [rcu_bh]
root 9 2 0 9月20 ? 00:00:00 [rcuob/0]
root 10 2 0 9月20 ? 00:00:00 [rcuob/1]
root 11 2 0 9月20 ? 00:00:00 [rcuob/2]
root 12 2 0 9月20 ? 00:00:00 [rcuob/3]
说明:
UID: 用户
PID: 进程号
PPID: 父进程的进程号
C: 进程生命周期中的 CPU 利用率
STIME: 进程启动时的系统时间
TTY: 表明进程在哪个终端设备上运行。如果显示 ?表示不终端无关
TIME: 运行进程一共累计占用的 CPU 时间
CMD: 程序名称
top命令:
扫描二维码关注公众号,回复:
5972018 查看本文章
先说一下uptime:
[root@localhost ~]# uptime
14:46:04 up 8 days, 22:30, 2 users, load average: 0.00, 0.01, 0.05
当前时间 up代表在线 在线8天22:30时 2个用户正在使用 CPU负载: 平均1min 5min 15min
top:
top - 14:48:54 up 8 days, 22:32, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 416 total, 2 running, 414 sleeping, 0 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 : 1001332 total, 96260 free, 532080 used, 372992 buff/cache
KiB Swap: 2097148 total, 2011916 free, 85232 used. 223640 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 126476 5548 2732 S 0.0 0.6 0:18.10 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.14 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:01.21 ksoftirqd/0
7 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
简要说明:
[root@localhost ~]# top
top - 14:51:22 up 8 days, 22:35, 2 users, load average: 0.00, 0.01, 0.05
第一行和uptime一样
Tasks: 416 total, 2 running, 414 sleeping, 0 stopped, 0 zombie
进程数: 总共 执行中 睡眠中 停止
%Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
cpu 用户使用 内核使用 优先级 剩余 等待 kvm中的虚拟机使用
KiB Mem : 1001332 total, 95920 free, 532412 used, 373000 buff/cache
内存 总共内存 剩余内存 使用内存 缓存内存
KiB Swap: 2097148 total, 2011916 free, 85232 used. 223308 avail Mem
交换分区 总共 剩余 使用 可用
进入top后的快捷键:
top界面默认 3s 刷新一次,按 s 键修改刷新时间
按空栺 :立即刷新。
q 退出
P:按 CPU 排序
M:按内存排序
T:按时间排序
p: 进程 IP,查看某个进程状态
数字键 1:显示每个内核的 CPU 使用率
u/U:挃定显示的用户
h:帮助
在上面我们知道了ps的用法,在ps命令中我们可以获得进程的PID。而top命令可以动态查询进程的信息
[root@localhost ~]# top -p 进程号(PID)