经常用到的命令,详细的命令参数确实掌握的不牢,复习一下~
一.进程概念
进程就是系统未完成并且正在进行的工作
二.查看进程
【1】图形方式查看:gnome-system-monitor
【2】命令方式:ps
参数:-A 表示所有进程 -a 表示在当前环境中运行的进程,不包含环境信息
-u 显示进程用户信息 a 在当前环境中运行的进程 x 列出系统中所有运行包含tty输出设
f 显示进程的父子关系 e 显示进程的详细信息(系统资源的调用)
显示部分结果如下:
示例:显示进程所有信息(只显示了部分截图)
[root@localhost mnt]# ps -A
PID TTY TIME CMD
1 ? 00:00:03 systemd
2 ? 00:00:00 kthreadd
3 ? 00:00:00 ksoftirqd/0
5 ? 00:00:00 kworker/0:0H
7 ? 00:00:00 migration/0
8 ? 00:00:00 rcu_bh
9 ? 00:00:00 rcuob/0
10 ? 00:00:01 rcu_sched
11 ? 00:00:01 rcuos/0
12 ? 00:00:00 watchdog/0
13 ? 00:00:00 khelper
14 ? 00:00:00 kdevtmpfs
示例:显示当前环境中运行的进程,没有进程的环境信息
[root@localhost mnt]# ps -a
PID TTY TIME CMD
7873 pts/0 00:00:00 ps
示例:显示当前进程的所属关系
[root@localhost mnt]# ps f
PID TTY STAT TIME COMMAND
2180 pts/0 Ss 0:01 -bash
7912 pts/0 R+ 0:00 _ ps f
590 tty1 Ss+ 0:56 /usr/bin/Xorg :0 -background none -verbose -auth /run
1210 ttyS0 Ss+ 0:00 /sbin/agetty –keep-baud ttyS0 115200 38400 9600
ps常用组合:
ps aux ##显示系统中所有进程并显示进程用户
ps ef ##显示进程详细信息并显示进程父子关系
ps ax ##显示当前系统中的所有进程
[root@localhost mnt]# ps ef
PID TTY STAT TIME COMMAND
2180 pts/0 Ss 0:01 -bash XMODIFIERS=@im=ibus LANG=en_US.UTF-8 USER=root
7947 pts/0 R+ 0:00 _ ps ef XDG_SESSION_ID=2 HOSTNAME=localhost TERM=x
590 tty1 Ss+ 0:56 /usr/bin/Xorg :0 -background none -verbose -auth /ru
1210 ttyS0 Ss+ 0:00 /sbin/agetty –keep-baud ttyS0 115200 38400 9600 PAT
显示进程指定信息:ps -o xxx
参数: comm ##进程名称
user ##进程所有人
group ##进程所有组
%cpu ##进程cpu使用率
%mem ##进程内存使用率
pid ##进程id
nice ##进程优先级
[root@localhost mnt]# ps -o %cpu,%mem,pid,user,group,nice,comm
%CPU %MEM PID USER GROUP NI COMMAND
0.0 0.3 2180 root root 0 bash
0.0 0.1 7965 root root 0 ps
进程排序 :–sort=
ps ax –sort=+%cpu|-%cpu ##表示对cpu的使用率进行排序(+有小到大;-由大到小)
ps ax –sort=+%mem|-%mem ## 对内存的占用大小排序
[root@localhost mnt]# ps ax –sort=-%mem -o %mem,user,uid,comm
%MEM USER UID COMMAND
16.1 root 0 gnome-shell
3.4 root 0 Xorg
2.5 root 0 nautilus
2.3 root 0 gnome-settings-
2.1 root 0 firewalld
1.9 root 0 goa-daemon
1.8 root 0 tuned
1.6 polkitd 999 polkitd
stat中显示的信息 :
S ##进程状态 l ##内存中有锁定空间
N ##优先级低 < ##优先级高
+ ##前台运行 s ##顶级进程
三.进程优先级
【1】进程的优先级范围:-20~19
【2】优先级查看:ps ax -o pid,nice,comm
[root@localhost mnt]# ps a -o pid,nice,comm
PID NI COMMAND
590 0 Xorg
1210 0 agetty
2180 0 bash
8053 0 ps
【3】指定某个优先级开启进程
nice -n 优先级数字 进程名称
示例:开启vim并且指定程序优先级为-5
[root@localhost mnt]# nice -n -5 vim &
[1] 8056
[root@localhost mnt]# ps a -o pid,nice,comm
PID NI COMMAND
590 0 Xorg
1210 0 agetty
2180 0 bash
8056 -5 vim
8065 0 ps
[1]+ Stopped nice -n -5 vim
【4】改变进程优先级
renice -n 优先级数字 进程pid
示例:改变1806进程的优先级为-5
8056 -5 vim
8065 0 ps
[root@localhost mnt]# renice -n -20 8056
8056 (process ID) old priority -5, new priority -2
四.环境中进程的前后台调用
jobs ##查看被打入环境后台的进程
ctrl+z ##把占用终端的进程打入后台
fg jobsnum ##把后台进程调回前台
bg jobsnum ##把后台暂停的进程运行
comm & ##让命令直接在后台运行
五.进程信号
【1】常用信号等级
1 ##进程重新加载配置
2 ##删除进程在内存中的数据
3 ##删除鼠标在内存中的数据
9 ##强行结束单个进程(不能被阻塞)
15 ##正常关闭进程 (可能会被阻塞)
18 ##运行暂停的进程
19 ##暂停某个进程 (不能被阻塞)
20 ##把进程打入后台 (可以被阻塞)
man 7 signal ##查看信号详细信息
【2】kill的使用
kill -信号 进程pid
killall -信号 进程名字
pkill -u student -信号
6.用户登记审查
w 查看当前使用系统的用户有哪些
w -f 查看使用地点
last 查看用户登录成功历史
[root@localhost mnt]# w
11:14:08 up 2:58, 2 users, load average: 0.02, 0.02, 0.05
USER TTY LOGIN@ IDLE JCPU PCPU WHAT
root :0 08:17 ?xdm? 8:12 0.11s gdm-session-worker [pam/gdm-
root pts/0 08:39 0.00s 1.96s 0.00s w
[root@localhost mnt]# w -f
11:15:15 up 2:59, 2 users, load average: 0.01, 0.02, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root :0 :0 08:17 ?xdm? 8:12 0.11s gdm-session-
root pts/0 172.25.254.77 08:39 3.00s 1.96s 0.00s w -f
[root@localhost mnt]# last
root pts/3 172.25.254.77 Wed Jul 25 09:54 - 09:59 (00:04)
root pts/2 :0 Wed Jul 25 09:34 - 09:58 (00:24)
root pts/1 :0 Wed Jul 25 08:39 - 09:58 (01:18)
root pts/0 172.25.254.77 Wed Jul 25 08:39 still logged in
root :0 :0 Wed Jul 25 08:17 still logged in
(unknown :0 :0 Wed Jul 25 08:16 - 08:17 (00:00)
reboot system boot 3.10.0-123.el7.x Wed Jul 25 08:16 - 11:15 (02:59)
root pts/2 172.25.254.77 Tue Jul 24 22:40 - 22:54 (00:13)
root pts/1 :0 Tue Jul 24 21:09 - crash (11:06)
root pts/0 :0 Tue Jul 24 20:01 - crash (12:14)
root :0 :0 Tue Jul 24 20:01 - crash (12:15)
7.进程的动态监控
【1】命令:top
1. ##显示cpu每个核的负载
s ##调整刷新频率
c ##CPU负载排序
m ##内存使用量排序
h ##查看帮助
u ##查看指定用户进程
k ##对指定进程发起信号
q ##退出
[root@localhost mnt]# top
top - 11:16:24 up 3:00, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 146 total, 2 running, 143 sleeping, 1 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0
KiB Mem: 969416 total, 833532 used, 135884 free, 884 buffers
KiB Swap: 0 total, 0 used, 0 free. 369560 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8148 root 20 0 123632 1556 1096 R 0.3 0.2 0:00.02 top
1 root 20 0 50468 3984 2208 S 0.0 0.4 0:03.37 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.04 ksoftirq+
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/+
7 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migratio+
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 0:00.00 rcuob/0
10 root 20 0 0 0 0 S 0.0 0.0 0:01.21 rcu_sched
11 root 20 0 0 0 0 R 0.0 0.0 0:02.01 rcuos/0
12 root rt 0 0 0 0 S 0.0 0.0 0:00.17 watchdog+
13 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 khelper
14 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs
15 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 netns
16 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 writeback
17 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kintegri+
From:https://www.cnblogs.com/uthnb/p/9367848.html
top命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。
top的使用方式 top [-d number] | top [-bnp]
参数解释:
-d:number代表秒数,表示top命令显示的页面更新一次的间隔。默认是5秒。-b:以批次的方式执行top。-n:与-b配合使用,表示需要进行几次top命令的输出结果。-p:指定特定的pid进程号进行观察。
在top命令显示的页面还可以输入以下按键执行相应的功能(注意大小写区分的):
?:显示在top当中可以输入的命令
P:以CPU的使用资源排序显示
M:以内存的使用资源排序显示
N:以pid排序显示
T:由进程使用的时间累计排序显示
k:给某一个pid一个信号。可以用来杀死进程
r:给某个pid重新定制一个nice值(即优先级)
q:退出top(用ctrl+c也可以退出top)
Centos:
Debian:
01 top前5行统计信息
第1行:top - 05:43:27 up 4:52, 2 users, load average: 0.58, 0.41, 0.30
第1行是任务队列信息,其参数如下:
load average: 如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
第2行:Tasks: 159 total, 1 running, 158 sleeping, 0 stopped, 0 zombie
第3行:%Cpu(s): 37.0 us, 3.7 sy, 0.0 ni, 59.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
第2、3行为进程和CPU的信息
当有多个CPU时,这些内容可能会超过两行,其参数如下:
第4行:KiB Mem: 1530752 total, 1481968 used, 48784 free, 70988 buffers
第5行:KiB Swap: 3905532 total, 267544 used, 3637988 free. 617312 cached Mem
第4、5行为内存信息
其参数如下:
上述最后提到的缓冲的交换区总量,这里解释一下,所谓缓冲的交换区总量,即内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小。
相应的内存再次被换出时可不必再对交换区写入。
计算可用内存数有一个近似的公式:
第四行的free + 第四行的buffers + 第五行的cached
02 进程信息
默认进入top时,各进程是按照CPU的占用量来排序的。
击键盘‘x’(打开/关闭排序列的加亮效果)可以看到现在是按”%CPU”进行排序的,可以按”shift+>”或者”shift+<”左右改变排序序列。
在Linux终端上输入top命令出现的结果及其表示的含义如下图:
top命令的用法
顺便说一下uptime命令
top命令的用法「建议收藏」
3、以上是默认的显示内容,可以通过快捷键来更改显示的内容:
<1>按f键:会显示如下列表
top命令的用法「建议收藏」
选a-z键就可以显示或者隐藏对应的列,按回车键确定。
<2>按o键可以改变列的显示顺序。按a-z将相应的列向后移;按A-Z将相应的列向左移。
<3>按F或者O键,然后按照a-z可以将进程按照相应的列进行排序,大写的R键可以将当前的排序倒转。
4、参数选项:
****top -d 秒数****:表示进程界面更新时间(默认5秒)
*top -b p 2>/tmp/top.txt* 表示将top进程表在/tmp/top.txt中打印两次。
*top -p 1* 查看进程号为1的进程
*-q* top没有任何延迟时间的进行刷新。如果调用程序有超级用户权限,top将会以尽可能高的优先级运行。
*-S* 指定累计模式
*-s* 使top命令在安全模式中运行。将去除交互命令带来的潜在危险。
*-i* 使top不显示任何闲置或者僵死的进程。
*-c* 显示整个命令行而不是整个命令名
top命令的用法
5、使用情况举例;
<1>2000毫秒刷新一次,总共5次,输出内容存放在cur.txt中。
#*top -b -d 2.5 -n 5>cur.txt*
<2>快速按%CPU列排序:大写字母P
快速按%MEM列排序:大写字母M
快速按%TIME+列排序:大写字母T
(默认降序,升序可使用R)
<3>选择显示列或者其他列:小写字母f
交换列显示顺序:小写字母o
选择需要排序的列:大写字母F
6、top命令显示过程中使用一些交互命令:
****Ctrl L****:擦除并且重写屏幕
*h*或者*?* :显示帮助画面
*k* :终止一个进程;默认使用15信号,可以使用信号9来强制结束该进程。但是在安全模式下此命令被屏蔽。
*i* :忽略闲置和僵死进程,开关式命令。
*q* :退出程序。
*r* :重新安排一个进程的优先级。默认值是10,输入一个正值使优先级降低;输入一个负值使优先级升高。
*S* :切换到累计模式。
*s* :改变两次刷新的延迟时间。单位为秒,如果有小数,切换为ms,输入0则系统不断的刷新,默认值是5.
*f*或者*F* :从当前显示中添加或者删除项目。
*o*或者*O* :改变显示项目的顺序。
*t* :切换显示进程和CPU状态信息。
*m* :切换显示内存信息。
*I* :切换显示平均负载和CPU状态信息。
*M* :根据驻留内存大小进行排序。
*P* :根据CPU使用百分比大小进行排序。
*T* :根据时间或者累计时间进行排序。
*W* :写top配置文件的方法。将当前设置写入~/toprc文件中。
转自:https://javaforall.cn/128103.html原文链接:https://javaforall.cn
PS:交互命令说明
按1可以看到每个逻辑cpu的cpu使用情况,同时还能看到各个进程的情况。
Shift+n 按PID排序
Shift+p 按CPU排序
Shift+m 按内存使用排序
Shift+t 按该Process使用的CPU时间积累(TIME+)排序。
u 输入用户名只显示指定用户的进程
1)常见的命令参数
top [-] [d][u][p][n][b][q]
d 指定每两次屏幕信息刷新之间的时间间隔。后面可以接秒数,就是整个程序画面更新的描述,预设是5秒。
u 只查看指定用户名的进程
p 通过指定监控进程ID来仅仅监控某个进程的状态
n 设置退出前屏幕刷新的次数,与-b搭配,意义是需要进行几次top的输出结果。
b 将top输出编排成适合输出到文件的格式,可以使用这个选项创建进程日志。通常会搭配数据流重定向来将批次的结果输出成为档案。
q 该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行
c 显示整个命令行而不只是显示命令名
S 指定累计模式
s 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
i 使top不显示任何闲置或者僵死进程。