Linux下主要的进程查看命令主要有:ps top htop
进程的分类:
与终端无关的进程:系统启动过程的自动启动的进程
与终端有关的进程:用户通过终端启动的进程
ps:
ps是通过/proc/路径下有和进程PID号相对应的文件来将进程的状态显示出来的。
ps a:查看与终端相关的进程
ps x:查看与总段无关的进程
ps ax:查看所有
常用组合:px aux:以用户为中心显示出进程信息 (以PID号为顺序进行排序)
[root@localhost ~]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.4 123492 4092 ? Ss 02:28 0:05 /usr/lib/systemd/system root 2 0.0 0.0 0 0 ? S 02:28 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S 02:28 0:00 [ksoftirqd/0] root 6 0.0 0.0 0 0 ? S 02:28 0:00 [kworker/u256:0]
USER:用户名
PID:进程号
%CPU:累计CPU使用的时间
%MEM:内存的占用
VSZ:占用的虚拟内存的大小
RSS:常驻内存的大小
TTY:所在的终端
STAT:当前进程的进行状态
R:Running
S:可中断睡眠
D:uninterruptable sleeping不可中断睡眠
T:stop停止
Z:zombie僵死态(父进程回收之前的状态)
+:前台进程,运行在终端之上,占据提示符
l: 多线程线程
N:低优先级进程
<:高优先级进程
s:会话主导者
TIME:
COMMAND
ps -e:显示所有进程
ps -f:显示完整格式。
ps -F:显示完整格式的进程信息
ps -H:以层级结构显示进程的相关信息
常用组合二:ps -ef
[root@localhost ~]# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 02:28 ? 00:00:06 /usr/lib/systemd/systemd --switched-roo root 2 0 0 02:28 ? 00:00:00 [kthreadd] root 3 2 0 02:28 ? 00:00:00 [ksoftirqd/0]
UID:启动的进程用户
PID:进程号
PPID:父进程的进程号
C:cpu占用百分比
STIME:启动时间
TTY:与那个终端相关
TIME:已经运行的时间
CMD:启动此进程的命令
[root@localhost ~]# ps -eF UID PID PPID C SZ RSS PSR STIME TTY TIME CMD root 1 0 0 30873 4092 0 02:28 ? 00:00:06 /usr/lib/systemd/system root 2 0 0 0 0 0 02:28 ? 00:00:00 [kthreadd] root 3 2 0 0 0 0 02:28 ? 00:00:00 [ksoftirqd/0] root 6 2 0 0 0 0 02:28 ? 00:00:00 [kworker/u256:0]
UID:启动进程的用户
PID:进程号
PPID:父进程的金曾好
C:cpu占用的百分比
SZ:虚拟内存集
RSS: 常驻内存集
PSR:运行在哪颗CPU上
STIME:开始时间
TTY:所在的进程
TIME:已经运行的时间
CMD:启动此进程的命令
常用组合三:ps -eFH
ps -o file1,file2...自定义要显示的字段
pid:进程号
nl:nice值
pri:priority优先级
psr:用哪个cpu
pcpu:CPU利用率
stat:状态
command :由那个程序启动
tty:和哪个终端相关
ppid:父进程进程号
rtprio:real time priority 实时优先级
常用组合四: ps -axo ps-eo
[root@localhost ~]# ps -axo uid,pid,pcpu UID PID %CPU 0 1 0.0 0 2 0.0 0 3 0.0 0 6 0.0 0 7 0.0
dstat:
dstat n m 每n秒钟显示一次,一共显示m+1次
[root@localhost ~]# dstat 1 2 You did not select any stats, using -cdngy by default. ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system-- usr sys idl wai hiq siq| read writ| recv send| in out | int csw 1 2 97 0 0 0|8070B 1485B| 0 0 | 0 0 | 61 60 0 0 100 0 0 0| 0 0 | 120B 874B| 0 0 | 33 34 1 5 94 0 0 0| 0 0 | 120B 346B| 0 0 | 79 27
常用选项:
-c,--cpu;显示CPU相关信息
-C #,#,...tatal 查看哪颗CPU
-d --disk 显示磁盘的相关信息
-D sda,sdb,....total指明某一块特定磁盘
-g:显示page相关的速率统计数据
-m:显示内存相关的统计数据
-n:interface 的相关数据
-p:统计进程数据
-r:显示IO请求的相关的统计数据
-s:显示swapped的相关设备。
--tcp:
--udp:
--raw
--socket:
[root@localhost ~]# dstat -pcdgmnrs ---procs--- ----total-cpu-usage---- -dsk/total- ---paging-- ------memory-usage----- -net/total- --io/total- ----swap--- run blk new|usr sys idl wai hiq siq| read writ| in out | used buff cach free| recv send| read writ| used free 0.0 0 0.2| 1 2 97 0 0 0|7993B 1473B| 0 0 | 232M 1344k 104M 640M| 0 0 |0.46 0.28 | 0 2049M 0 0 0| 0 0 100 0 0 0| 0 0 | 0 0 | 232M 1344k 104M 640M| 60B 506B| 0 0 | 0 2049M
--ipc:进程间通信
--top-cpu:显示最占用CPU的进程
--top-io:最站用io的进程
--top-mem:最占用内存的进程
--top-lantency:延迟最大的进程
[root@localhost ~]# dstat --ipc --top-cpu --top-io --top-mem --sysv-ipc- -most-expensive- ----most-expensive---- --most-expensive- msg sem shm| cpu process | i/o process | memory process 0 0 0|htop 2.3|htop 78k 154B|tuned 15.0M 0 0 0|kworker/0:1 1.0|sshd: root@ 530B 580B|tuned 15.0M 0 0 0|kworker/0:1 3.0|htop 82k 540B|tuned 15.0M 0 0 0|htop 1.0|htop 82k 898B|tuned 15.0M
top:显示linux进程信息 ,占用最多拍最前
[root@localhost ~]# top top - 07:41:24 up 5:12, 2 users, load average: 0.01, 0.02, 0.05 Tasks: 361 total, 2 running, 359 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.3 us, 0.7 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 1001340 total, 671424 free, 143556 used, 186360 buff/cache KiB Swap: 2098172 total, 2098172 free, 0 used. 688004 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1401 root 20 0 122928 2648 1428 S 0.3 0.3 6:48.46 htop 3037 root 20 0 146276 2224 1400 R 0.3 0.2 0:00.13 top 1 root 20 0 123492 4092 2392 S 0.0 0.4 0:06.33 systemd
top:当前时间
up:运行时长
users:用户数目
load average:1分钟平均队列长度,5分钟平均队列长度,15分钟平均队列长度
running:运行中的进程数目
sleeping:睡眠中的进程数目
stopped:停止的进程的数目
zombie:僵死的进程数目
%Cpu(s):CPU占用百分比
us:用户空间占用百分比
sy内核空间占用百分
ni:nice值
id:空闲百分比
wa:等待IO完成时间
hi:硬件中断
si:软件中断
st:被虚拟化偷走百分比
buff/cache (缓冲、缓存)
排序方式:在top下使用
T=累计占用CPU时间进行排序
P=按cpu百分比进行排序
M=占据内存百分比
首部信息:
第一行显示uptime,l关掉
第二行 task及cpu信息,t关掉
第四行、第五行 显示内存信息,m关闭
按下s可以修改默认刷新时间
s:修改时间间隔
q:退出
k:关闭指定进程
选项
-d #:刷新时间间隔
-b n#:以批次方显示,一屏屏
-n显示多少批次,显示完以后退出
htop:类似于top的进程查看工具,但是功能更强大
支持鼠标操作
选项:
-d:延迟时间间隔
-u:指定用户进程
-s COLUME:以指定字段进行排序
子命令:
u:查看指定用户进程
H:显示或隐藏用户进程
H:显示或隐藏内核进程
F6:选定字段进行排序
a:将程序绑定至某指定的CPU核心
c:标记进程以及子进程
l:可以跟踪进程所打开的文件 F5刷新
s: 查看选定的程序发起的所有系统调用
F4可以滚屏 esc退出
t/F5:以树状格式显示
F2:进入设定 选定内容后通过F5 F6进行添加