1 、pstree命令:显示进程树
[root@localhost ~]# pstree
init─┬─auditd───{auditd}
├─crond
├─dbus-daemon───{dbus-daemon}
├─httpd───3*[httpd───26*[{httpd}]]
├─master─┬─pickup
│
└─qmgr
├─6*[mingetty]
├─mysqld_safe───mysqld───20*[{mysqld}]
├─rsyslogd───3*[{rsyslogd}]
├─sshd───sshd───bash───pstree
└─udevd───2*[udevd]# Linux系统各进程的相关信息均保存在/proc/PID目录下的各文件中
2 、 ps 命令:显示进程的当前状态
命令格式:ps [ OPTION ] ...
(1)常用组合:aux
a:
与终端相关的进程;
u:
以用户为中心组织进程状态信息显示
x:
与终端无关的进程;
[root@localhost ~]# ps
aux | head -8
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.1 0.0 19232 1512 ? Ss 07:32 0:01 /sbin/init
root 2 0.0 0.0 0 0 ? S 07:32 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 07:32 0:00 [migration/0]
root 4 0.0 0.0 0 0 ? S 07:32 0:00 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S 07:32 0:00 [stopper/0]
root 6 0.0 0.0 0 0 ? S 07:32 0:00 [watchdog/0]
root 7 0.0 0.0 0 0 ? S 07:32 0:00 [migration/1]各字段解析:
VSZ:
Virtual memory SiZe,虚拟内存集
RSS:
ReSident Size, 常驻内存集
STAT:进程状态
R:running,运行中
S:
interruptable sleeping,可中断睡眠
D:
uninterruptable sleeping,不可中断睡眠
T:
stopped,停止状态
Z:
zombie,僵尸状态
+: 前台进程
l:
多线程进程
N:低优先级进程
<:
高优先级进程
s:
session leader
(2)常用组合:-ef
-e:
显示所有进程
-f:
显示完整格式程序信息
(3)常用组合:-eFH
-F:
显示完整格式的进程信息
-H:
以进程层级格式显示进程相关信息
ni:
nice值
pri:
priority,优先级
psr:
processor, CPU
rtprio:
实时优先级
3 、pgrep, pkill
pgrep [options] pattern:根据进程相关属性查找进程
pkill [options]
pattern:发送信号(signal)到指定进程
options:
-u
uid: effective user
-U uid: real user
-t terminal: 与指定终端相关的进程
-l: 显示进程名
-a: 显示完整格式的进程名
-P pid: 显示其父进程为此处指定的进程的进程列表
4 、pidof: 根据进程名获取其PID
[root@localhost ~]# pidof httpd
1455 1454 1453 14115 、top and htop :显示进程相关信息
( 1 ) top 命令:
排序:
P:以占据的CPU百分比;
M:占据内存百分比;
T:累积占据CPU时长;
首部信息显示 :
uptime信息:l命令
tasks及cpu信息:t命令
cpu分别显示:1 (数字)
memory信息:m命令
退出命令:q
修改刷新时间间隔:s
终止指定进程:k
选项:
-d #: 指定刷新时间间隔,默认为3秒;
-b: 以批次方式;
-n #: 显示多少批次;
[root@localhost
~]# top -d 3 -b -n 2
( 2 )htop命令:
选项:
d #: 指定延迟时间;
-u UserName: 仅显示指定用户的进程;
-s COLOMN: 以指定字段进行排序;
命令:
s: 跟踪选定进程的系统调用;
l: 显示选定进程打开的文件列表;
a:将选定的进程绑定至某指定CPU核心;
t: 显示进程树
6 、vmstat命令:虚拟内存状态信息显示
命令格式:vmstat [options]
[delay [count]]
选项: -s: 显示内存的统计数据
各字段解析:
procs:
r:等待运行的进程的个数;
b:处于不可中断睡眠态的进程个数;(被阻塞的队列的长度);
memory:
swpd:
交换内存的使用总量;
free:空闲物理内存总量;
buffer:用于buffer的内存总量;
cache:用于cache的内存总量;
swap:
si:数据进入swap中的数据速率(kb/s)
so:数据离开swap中的数据速率(kb/s)
io:
bi:从块设备读入数据到系统的速率;(kb/s)
bo:
保存数据至块设备的速率;
system:
in:
interrupts, 中断速率;
cs:
context switch, 进程切换速率;
cpu:
us:用户空间所占CPU 使用时间比例
sy:内核空间所占比例
id:空闲时间所占比例
wa:等待IO 时间所占比例
st:虚拟机偷盗CPU 时间所占比例
7 、 glances 命令 :
glances [-bdehmnrsvyz1]
[-B bind] [-c server] [-C conffile] [-p port] [-P password] [--password]
[-t refresh] [-f file] [-o output]
内建命令:
a Sort processes automatically l
Show/hide logs
c Sort processes by CPU% b
Bytes or bits for network I/O
m Sort processes by MEM% w
Delete warning logs
p Sort processes by name x
Delete warning and critical logs
i Sort processes by I/O rate 1
Global CPU or per-CPU stats
d Show/hide disk I/O stats h
Show/hide this help screen
f Show/hide file system stats t
View network I/O as combination
n Show/hide network stats u
View cumulative network I/O
s Show/hide sensors stats q
Quit (Esc and Ctrl-C also work)
y Show/hide hddtemp stats
常用选项:
-b:
以Byte为单位显示网卡数据速率;
-d:
关闭磁盘I/O模块;
-f
/path/to/somefile: 设定输入文件位置;
-o
{HTML|CSV}:输出格式;
-m:
禁用mount模块
-n:
禁用网络模块
-t #:
延迟时间间隔
-1:每个CPU的相关数据单独显示;
C/S模式下运行glances命令:
服务模式:
glances
-s -B IPADDR(IPADDR: 指明监听于本机哪个地址)
客户端模式:
glances
-c IPADDR(IPADDR:要连入的服务器端地址)
8 、 dstat 命令:生成系统资源统计信息工具
dstat [-afv] [options..] [delay [count]]
options:-c: 显示cpu相关信息;
-C
#,#,...,total
-d:
显示disk相关信息;
-D
total,sda,sdb,...
-g:显示page相关统计数据;
-m:
显示memory相关统计数据;
-n:
显示network相关统计数据;
-p:
显示process相关统计数据;
-r:
显示io请求相关的统计数据;
-s:
显示swapped相关的统计数据;
--tcp:显示tcp连接状态
(listen,
established, syn, time_wait, close)
--udp:显示udp连接状态信息
--unix:unix域套接字状态信息
--raw:raw套接字状态信息
--socket:套接字状态信息
--ipc:ipc状态信息
--top-cpu:显示最占用CPU的进程;
--top-io:
显示最占用io的进程;
--top-mem:
显示最占用内存的进程;
--top-lantency:
显示延迟最大的进程;
例:延时为2,显示5次
9 、 sar :收集报告或保存系统活动信息
命令格式:sar [options] [-A] [
-o [ filename ]] t [n]
t:采样间隔
n:采样次数,默认值是1;
-o
filename :将命令结果以二进制格式保存在文件中。
options :
-A:所有报告的总和
-u:输出CPU使用情况的统计信息
-v:输出inode、文件和其他内核表的统计信息
-d:输出每一个块设备的活动信息
-r:输出内存和交换空间的统计信息
-b:显示I/O和传送速率的统计信息
-a:文件读写情况
-c:输出进程统计信息,每秒创建的进程数
-R:输出内存页面的统计信息
-y:终端设备活动情况
-w:输出系统交换活动信息
[root@localhost ~]# sar-u -o sar.txt 2 3 Linux
2.6.32-504.el6.x86_64 (localhost.localdomain) 09/26/2015 _x86_64_ (1 CPU)
11:28:25 PM CPU %user %nice %system %iowait %steal %idle
11:28:27 PM all 0.50 0.00 1.98 0.99 0.00 96.53
11:28:29 PM all 0.00 0.00 1.51 1.51 0.00 96.98
11:28:31 PM all 0.00 0.00 1.50 1.50 0.00 97.00
Average: all 0.17 0.00 1.66 1.33 0.00 96.84
[root@localhost ~]# sar -r 2 3 Linux
2.6.32-504.el6.x86_64 (localhost.localdomain) 09/26/2015 _x86_64_ (1 CPU)
11:29:54 PM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit
11:29:56 PM 1597996 308496 16.18 20496 162756 91560 3.10
11:29:58 PM 1597872 308620 16.19 20496 162756 91560 3.10
11:30:00 PM 1597872 308620 16.19 20496 162756 91560 3.10
Average: 1597913 308579 16.19 20496 162756 91560 3.10[root@localhost ~]# sar -d -p 2 1 Linux
2.6.32-504.el6.x86_64 (localhost.localdomain) 09/26/2015 _x86_64_ (1 CPU)
11:34:28 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
11:34:30 PM sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:34:30 PM sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:34:30 PM sr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
Average: sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: sr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00常用选项:
查看CPU : sar -u、 sar -q
查看内存:sar -B、sar -r、sar -W
查看I/O:
sar -b、sar -u、sar -d -p
10 、 kill 命令:向进程发送控制信号,以实现对进程管理
显示当前系统可用信号:
# kill
-l
# man 7
signal
常用信号:
1)
SIGHUP: 无须关闭进程而让其重读配置文件;
2)
SIGINT: 中止正在运行的进程;相当于Ctrl+c;
9)
SIGKILL: 杀死正在运行的进程;
15)
SIGTERM:终止正在运行的进程;
18)
SIGCONT:
19)
SIGSTOP:
指定信号的方法:
(1)
信号的数字标识;1, 2, 9
(2)
信号完整名称;SIGHUP
(3)
信号的简写名称;HUP
向进程发信号:
kill
[-SIGNAL] PID...
终止“名称”之下的所有进程:
killall
[-SIGNAL] Program
11 、 nice and renice :进程优先级调整
静态优先级:100-139
进程默认启动时的nice值为0,优先级为120;
nice命令:
nice
[OPTION] [COMMAND [ARG]...]
renice命令:
renice
[-n] priority pid...
查看:
ps axo
pid,comm,ni
[root@centos7 ~]# nice -n 5 httpd
[root@centos7 ~]# ps -axo pid,comm,ni | grep httpd
6760 httpd 5
6762 httpd 5
6763 httpd 5
6764 httpd 5
[root@centos7 ~]# renice -n 0 `pidof httpd`
6760 (process ID) old priority 5, new priority 0
6762 (process ID) old priority 5, new priority 0
6763 (process ID) old priority 5, new priority 0
6764 (process ID) old priority 5, new priority 0
12 、 Linux 的作业控制
前台作业:通过终端启动,且启动后一直占据终端;
后台作业:可以通过终端启动,但启动后即转入后台运行(释放终端);
让作业工作与后台
(1)
运行中的作业
Ctrl+z
(2)
尚未启动的作业
#
COMMAND &
此类作业虽然被送往后台运行,但其依然与终端相关;如果希望送往后台后,剥离与终端的关系:
#
nohup COMMAND &
查看所有作业:
# jobs
作业控制:
# fg
[[%]JOB_NUM]:把指定的后台作业调回前台;
# bg
[[%]JOB_NUM]:让送往后台的作业在后台继续运行;
# kill [%JOB_NUM]:终止指定的作业,必须带% ;
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com