标签:进程管理
简单来说进程是一个正在执行的程序的一个副本,存在生命周期,有段指令和代码在不断运行。
0-139:
1-99:实时优先级(数字越大优先级越高)
100-139:静态优先级(数字越小优先级越高)
Nice值:
静态优先级中:
Linux nice用来设置进程优先级,优先级的数值为-20~19,其中数值越小优先级越高,数值越大优先级越低,-20的优先级最高,19的优先级最低,默认的优先级数值为10。
需要注意的是普通用户只能在0~19之间调整应用程序的优先权值,只有超级用户有权调整更高的优先权值(从-20~19)。
Linux根据进程优先级将具有相同优先级的进程分配在一个队列中,共计140个队列。
这样内核每次只需要扫描140个队列的头部就可确定执行哪一个进程。
而每个优先级的队列又分俩队,运行队列和过期队列,运行过的进程将被
放到过期队列中,当运行队列中的进程执行完毕后,俩队列的内容将会对调。
内存中给进程分配内存时会将所分配的内存分为长度为4KB或8KB的块,这种块
叫页框(Page Frame)。然后根据进程需要分配空闲页框。
应用程序运行在自己的地址空间内,这个地址空间称为线性地址空间,所有数据在线
性地址空间内部表现为页面的形式存放,而不是分页的数据无法交换至swap空间。
进程访问数据是从线性地址访问,内核将线性地址转换成物理地址,使得进程得以访
问到数据。
线性地址与物理地址的对应关系存放在一张表中,这引表在MMU(Memory Management
Unit)中进行维护。
内核借助MMU来使得各个进程使用内核时好像是独立的状态;MMU完成线性地址到物理
地址的转换。
内核精心编造了一个数据结构,假如内存如果有4G的话,1G分配给内核使用,3G分配
给进程使用;这个数据结构使用得每个进程都认为自己独占3G内存。
进程间通信(IPC:Inter Process Communication)
同一主机间通信方式:
singnal:信号。
shm:共享内存。
semerphor:旗语。
不同主机间通信方式:
rpc:remote procedure calling,远程过程调用。
socket:IP:port,套接字。
运行态:running
就绪态:ready
睡眠态
可中断
不可中断
停止态
僵死态
进程类型:
守护进程:在系统引导过程中启动的进程,跟终端无关的进程。
前台进程:跟终端有关,通过终端启动的进程。
前台进程也可送往后台,以守护模式进行。
[root@tomtwo ~]# pstree init─┬─NetworkManager─┬─dhclient │ └─{NetworkManager} ├─abrtd ├─acpid ├─atd ├─auditd───{auditd} ├─automount───4*[{automount}] ├─bonobo-activati───{bonobo-activat} ├─certmonger ├─console-kit-dae───63*[{console-kit-da}] ├─crond ├─cupsd ├─2*[dbus-daemon───{dbus-daemon}] ├─dbus-launch ├─devkit-power-da ├─gconfd-2 ├─gdm-binary─┬─gdm-simple-slav─┬─Xorg │ │ ├─gdm-session-wor │ │ ├─gnome-session─┬─at-spi-registry │ │ │ ├─gdm-simple-gree │ │ │ ├─gnome-power-man │ │ │ ├─metacity │ │ │ ├─plymouth-log-vi │ │ │ ├─polkit-gnome-au │ │ │ └─{gnome-session} │ │ └─{gdm-simple-sla} │ └─{gdm-binary} ├─gnome-settings-───{gnome-settings} ├─gvfsd ├─hald─┬─hald-runner─┬─hald-addon-acpi │ │ └─hald-addon-inpu │ └─{hald} ├─master─┬─pickup │ └─qmgr ├─5*[mingetty] ├─modem-manager ├─polkitd ├─pulseaudio───2*[{pulseaudio}] ├─rpc.statd ├─rpcbind ├─rsyslogd───3*[{rsyslogd}] ├─rtkit-daemon───2*[{rtkit-daemon}] ├─sshd───sshd───bash───pstree ├─udevd───2*[udevd] └─wpa_supplicant [root@tomtwo ~]#
选项:
BSD风格选项:
u:以用户为中心组织进程状态信息显示
a:与终端相关的进程
x:与终端无关的进程
范例:aux组合使用
[root@tomtwo ~]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 19360 1532 ? Ss 07:39 0:01 /sbin/init root 2 0.0 0.0 0 0 ? S 07:39 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S 07:39 0:00 [migration/0] root 4 0.0 0.0 0 0 ? S 07:39 0:00 [ksoftirqd/0] root 5 0.0 0.0 0 0 ? S 07:39 0:00 [stopper/0] root 6 0.0 0.0 0 0 ? S 07:39 0:00 [watchdog/0] root 7 0.0 0.0 0 0 ? R 07:39 0:01 [events/0] root 8 0.0 0.0 0 0 ? S 07:39 0:00 [cgroup] root 9 0.0 0.0 0 0 ? S 07:39 0:00 [khelper] root 10 0.0 0.0 0 0 ? S 07:39 0:00 [netns] root 11 0.0 0.0 0 0 ? S 07:39 0:00 [async/mgr] root 12 0.0 0.0 0 0 ? S 07:39 0:00 [pm] root 13 0.0 0.0 0 0 ? S 07:39 0:00 [sync_supers] root 14 0.0 0.0 0 0 ? S 07:39 0:00 [bdi-default] root 15 0.0 0.0 0 0 ? S 07:39 0:00 [kintegrityd/0] root 16 0.0 0.0 0 0 ? S 07:39 0:00 [kblockd/0] root 17 0.0 0.0 0 0 ? S 07:39 0:00 [kacpid] root 18 0.0 0.0 0 0 ? S 07:39 0:00 [kacpi_notify] root 19 0.0 0.0 0 0 ? S 07:39 0:00 [kacpi_hotplug] root 20 0.0 0.0 0 0 ? S 07:39 0:00 [ata_aux] root 21 0.0 0.0 0 0 ? S 07:39 0:00 [ata_sff/0] root 22 0.0 0.0 0 0 ? S 07:39 0:00 [ksuspend_usbd] root 23 0.0 0.0 0 0 ? S 07:39 0:00 [khubd] root 24 0.0 0.0 0 0 ? S 07:39 0:00 [kseriod] root 25 0.0 0.0 0 0 ? S 07:39 0:00 [md/0] root 26 0.0 0.0 0 0 ? S 07:39 0:00 [md_misc/0] root 27 0.0 0.0 0 0 ? S 07:39 0:00 [linkwatch] root 29 0.0 0.0 0 0 ? S 07:39 0:00 [khungtaskd] 省略N行 root 30 0.0 0.0 0 0 ? S 07:39 0:00 [kswapd0] root 31 0.0 0.0 0 0 ? SN 07:39 0:00 [ksmd] root 32 0.0 0.0 0 0 ? SN 07:39 0:00 [khugepaged] root 33 0.0 0.0 0 0 ? S 07:39 0:00 [aio/0] root 34 0.0 0.0 0 0 ? S 07:39 0:00 [crypto/0] root 42 0.0 0.0 0 0 ? S 07:39 0:00 [kthrotld/0] root 43 0.0 0.0 0 0 ? S 07:39 0:00 [pciehpd] root 45 0.0 0.0 0 0 ? S 07:39 0:00 [kpsmoused] root 46 0.0 0.0 0 0 ? S 07:39 0:00 [usbhid_resumer] root 47 0.0 0.0 0 0 ? S 07:39 0:00 [deferwq] root 79 0.0 0.0 0 0 ? S 07:39 0:00 [kdmremove] root 80 0.0 0.0 0 0 ? S 07:39 0:00 [kstriped] root 155 0.0 0.0 0 0 ? S 07:39 0:00 [scsi_eh_0] root 156 0.0 0.0 0 0 ? S 07:39 0:00 [scsi_eh_1] gdm 1905 0.0 1.0 293784 10364 ? S 07:41 0:00 metacity gdm 1908 0.0 1.4 315620 14480 ? S 07:41 0:00 plymouth-log-viewer --icon gdm 1909 0.0 0.8 274384 9028 ? S 07:41 0:00 gnome-power-manager gdm 1910 0.0 1.8 413212 18532 ? S 07:41 0:00 /usr/libexec/gdm-simple-greeter gdm 1913 0.0 0.7 248960 7780 ? S 07:41 0:00 /usr/libexec/polkit-gnome-authentication-agent-1 root 1918 0.0 0.4 52740 4504 ? S 07:41 0:00 /usr/libexec/polkit-1/polkitd [root@tomtwo ~]#
ps aux 命令详解
USER:进程属主
PID:进程PID
%CPU:进程运行占据的CPU时间百分比。
%MEM:占据内存空间百分比。
VSZ:虚拟内存集。
RSS:常驻内存集。
STAT:进程状态
进程状态:
R:运行
S:可中断睡眠
D:不可中断睡眠
T:停止态
Z:僵死态
+:前台进程
l:多线程进程
N:低优先级进程
<: 高优先级进程
s:session leader
START:启动时间。
TIME:累计时长
COMMAND:由哪个命令运行启动此进程。
标准语法风格选项:
-e;显示所有进程(相当于aux)
-j:任务格式
-f:显示完整格式进程信息
-H:以层级格式显示
-F:显示完整格式进程信息(比-f更加完整)
-o:指明要显示的信息
范例:
[root@tomtwo ~]# ps -ef | head UID PID PPID C STIME TTY TIME CMD root 1 0 0 07:39 ? 00:00:01 /sbin/init root 2 0 0 07:39 ? 00:00:00 [kthreadd] root 3 2 0 07:39 ? 00:00:00 [migration/0] root 4 2 0 07:39 ? 00:00:00 [ksoftirqd/0] root 5 2 0 07:39 ? 00:00:00 [stopper/0] root 6 2 0 07:39 ? 00:00:00 [watchdog/0] root 7 2 0 07:39 ? 00:00:03 [events/0] root 8 2 0 07:39 ? 00:00:00 [cgroup] root 9 2 0 07:39 ? 00:00:00 [khelper] [root@tomtwo ~]#
范例:
[root@tomtwo ~]# ps -eFH | head UID PID PPID C SZ RSS PSR STIME TTY TIME CMD root 2 0 0 0 0 0 07:39 ? 00:00:00 [kthreadd] root 3 2 0 0 0 0 07:39 ? 00:00:00 [migration/0] root 4 2 0 0 0 0 07:39 ? 00:00:00 [ksoftirqd/0] root 5 2 0 0 0 0 07:39 ? 00:00:00 [stopper/0] root 6 2 0 0 0 0 07:39 ? 00:00:00 [watchdog/0] root 7 2 0 0 0 0 07:39 ? 00:00:07 [events/0] root 8 2 0 0 0 0 07:39 ? 00:00:00 [cgroup] root 9 2 0 0 0 0 07:39 ? 00:00:00 [khelper] root 10 2 0 0 0 0 07:39 ? 00:00:00 [netns] [root@tomtwo ~]#
范例:
[root@tomtwo ~]# pidof metaci 1905 [root@tomtwo ~]#
top - 10:49:05 up 3:09, 2 users, load average: 0.00, 0.00, 0.00 Tasks: 113 total, 1 running, 112 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 Mem: 1012288k total, 547788k used, 464500k free, 46056k buffers Swap: 2031612k total, 0k used, 2031612k free, 281056k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 7 root 20 0 0 0 0 S 0.3 0.0 0:08.45 events/0 5020 root 20 0 15036 1216 928 R 0.3 0.1 0:00.01 top 1 root 20 0 19360 1536 1224 S 0.0 0.2 0:01.80 init 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0 4 root 20 0 0 0 0 S 0.0 0.0 0:00.02 ksoftirqd/0 5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/0 6 root RT 0 0 0 0 S 0.0 0.0 0:00.02 watchdog/0 8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cgroup 9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khelper 10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 netns 11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 async/mgr 12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 pm 13 root 20 0 0 0 0 S 0.0 0.0 0:00.05 sync_supers ......省略N行
现在top的显示的默认按照CPU% 排序的,我们此时输入top的内置命令M可以按照内存%排序。
top - 10:55:54 up 3:16, 2 users, load average: 0.00, 0.00, 0.00 Tasks: 113 total, 1 running, 112 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 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1777 root 20 0 171m 22m 6364 S 0.0 2.3 0:02.32 Xorg 1910 gdm 20 0 403m 18m 12m S 0.0 1.8 0:00.54 gdm-simple-gree 1908 gdm 20 0 308m 14m 10m S 0.0 1.4 0:00.12 plymouth-log-vi 1894 gdm 20 0 349m 12m 10m S 0.0 1.3 0:00.93 gnome-settings- 1905 gdm 20 0 286m 10m 7856 S 0.0 1.0 0:00.14 metacity 1909 gdm 20 0 267m 9028 7204 S 0.0 0.9 0:00.17 gnome-power-man 1867 gdm 20 0 263m 8252 6556 S 0.0 0.8 0:00.12 gnome-session 1913 gdm 20 0 243m 7780 6188 S 0.0 0.8 0:00.04 polkit-gnome-au 1875 gdm 20 0 130m 5696 2260 S 0.0 0.6 0:00.27 gconfd-2 1405 haldaemo 20 0 39144 5360 4344 S 0.0 0.5 0:00.38 hald 1918 root 20 0 52740 4504 3208 S 0.0 0.4 0:00.12 polkitd 1291 root 20 0 93112 4448 3664 S 0.0 0.4 0:00.22 NetworkManager 4901 root 20 0 98.1m 4444 3436 S 0.0 0.4 0:00.65 sshd 1945 root 20 0 98.1m 4436 3436 S 0.0 0.4 0:00.38 sshd ......省略N行
top命令与排序相关的内置命令:
M: 内存百分比
P: CPU百分比
T: 累积占用的CPU时间
top - 10:55:54 up 3:16, 2 users, load average: 0.00, 0.00, 0.00 Tasks: 113 total, 1 running, 112 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
这段首部信息中:
top - 10:55:54 表示当前系统时间。
up 3:16 表示运行时长。
2 users 表示当前系统登录用户数。
load average: 0.00, 0.00, 0.00 表示过去一分钟,五分钟,十五分钟CPU的平均负载。
Tasks:进程树相关信息(通过内置命令t调出或关闭)。
113 total表示当前总进程数目。
1 running表示当前运行的进程数目。
112 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相关信息同样可以通过内置命令t调出或关闭,根据CPU核心树不同显示条目多少不同。
us:表示用户空间占据百分比。
sy:表示内核空间占据百分比。
ni:调整NICE值占据时间。
id:空闲比例。
wa:等待I/O完成时间。
hi:硬件中断消耗百分比。
si:软件中断消耗百分比。
st:被偷走的比例(被虚拟化技术偷走的时间)。
top - 11:58:41 up 4:18, 2 users, load average: 0.00, 0.00, 0.00 Tasks: 113 total, 1 running, 112 sleeping, 0 stopped, 0 zombie Cpu(s): 0.3%us, 0.0%sy, 0.0%ni, 99.3%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st Mem: 1012288k total, 549152k used, 463136k free, 47076k buffers Swap: 2031612k total, 0k used, 2031612k free, 281084k cached
这段信息中的Mem和Swap这俩行信息可以使用内置命令m调出或关闭。
退出top命令可以使用内置命令q。
[root@tomtwo ~]# top top - 12:12:22 up 4:32, 2 users, load average: 0.00, 0.00, 0.00 Tasks: 113 total, 1 running, 112 sleeping, 0 stopped, 0 zombie Cpu(s): 0.1%us, 0.3%sy, 0.0%ni, 98.9%id, 0.7%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 1012288k total, 549004k used, 463284k free, 47308k buffers Swap: 2031612k total, 0k used, 2031612k free, 281092k cached Change delay from 3.0 to: #默认刷新时间为每3秒刷新一次。 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 5317 root 20 0 15032 1104 824 R 2.0 0.1 0:00.01 top 1 root 20 0 19360 1536 1224 S 0.0 0.2 0:01.84 init 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
通过内置命令s可以修改TOP命令的刷新时间(单位为秒)。
top模式下还可以通过内置命令k来杀死一个进程。
top - 12:17:44 up 4:37, 1 user, load average: 0.00, 0.00, 0.00 Tasks: 111 total, 1 running, 110 sleeping, 0 stopped, 0 zombie Cpu(s): 0.1%us, 0.3%sy, 0.0%ni, 98.9%id, 0.7%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 1012288k total, 547508k used, 464780k free, 47380k buffers Swap: 2031612k total, 0k used, 2031612k free, 281096k cached PID to kill: #在此输入指定进程的PID即可啥指定进程 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 20 0 19360 1536 1224 S 0.0 0.2 0:01.84 init 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0 4 root 20 0 0 0 0 S 0.0 0.0 0:00.07 ksoftirqd/0 5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/0
常用选项:
-d #: 指定刷新时间间隔
-b: 以批次的方式显示top的刷新
-n #: 显示的批次
可以看到htop的界面非常漂亮
在htop界面的最下端可以看到htop的快捷键信息。
按下F1可以查看htop的帮助信息
F5可以进程树方式显示。
F2可以对htop进行设置,在这里我们将CPU,内存,交换内存的显示方式改为文本形式。
htop的内置命令:
u: 交互式选择显示指定用户的进程
l: 显示光标所在进程所打开的文件列表
s: 显示光标所在进程执行的系统调用
a: 绑定进程到指定的CPU
#:快速定位光标至PID为#的进程上
选项:
-d #:指定延迟时间
-u UserName:仅显示指定用户的进程
-s COLUMN:以指定字段进行排序
语法:vmstat 采样的时间间隔数(单位为秒) 采样的次数
范例:vmstat 2 1 #2表示每隔两秒采集一次服务器状态,1表示只采集一次
[root@tomtwo ~]# vmstat 2 1 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 599936 44748 148888 0 0 33 4 24 25 0 1 98 1 0 [root@tomtwo ~]#
说明:
procs: r: 运行队列的长度 b: 被阻塞(等待IO完成)队列的长度 memory: swpd: 从物理内存交换至swap中的数据量 free: 空间物理内存 buffer: cache: swap: si: swap in, 数据进入swap中的数据速率,kb/s so: swap out,数据离开swap中的数据速率 io: bi: block in, 从块设备读入的数据速率,kb/s bo: block out,保存至块设备的数据速率 system: in: interrupt, 中断速率 cs: context switch, 进程切换速率 cpu: us, sy, id, wa, st -s: 显示内存统计数据
[root@tomtwo ~]# vmstat -s 1012288 total memory 412592 used memory 115272 active memory 148320 inactive memory 599696 free memory 44988 buffer memory 148900 swap cache 2031612 total swap 0 used swap 2031612 free swap 1092 non-nice user cpu ticks 131 nice user cpu ticks 3924 system cpu ticks 691067 idle cpu ticks 5973 IO-wait cpu ticks 5 IRQ cpu ticks 219 softirq cpu ticks 0 stolen cpu ticks 199233 pages paged in 27497 pages paged out 0 pages swapped in 0 pages swapped out 154233 interrupts 163892 CPU context switches 1468200790 boot time 2660 forks [root@tomtwo ~]#
语法:pmap 选项 pid
[root@tomtwo ~]# pmap 1 1: /sbin/init 00007fafca319000 48K r-x-- /lib64/libnss_files-2.12.so 00007fafca325000 2048K ----- /lib64/libnss_files-2.12.so 00007fafca525000 4K r---- /lib64/libnss_files-2.12.so 00007fafca526000 4K rw--- /lib64/libnss_files-2.12.so 00007fafca527000 1576K r-x-- /lib64/libc-2.12.so 00007fafca6b1000 2048K ----- /lib64/libc-2.12.so 00007fafca8b1000 16K r---- /lib64/libc-2.12.so 00007fafca8b5000 4K rw--- /lib64/libc-2.12.so 00007fafca8b6000 20K rw--- [ anon ] [root@tomtwo ~]#
pmap选项:
-x :显示详细格式的信息
Glances 1.7.4 with PsUtil 0.6.1 CAREFULWARNINGCRITICAL CPU user % 50.0 70.0 90.0 Swap % 50.0 70.0 90.0 CPU system % 50.0 70.0 90.0 Temp °C 60.0 70.0 80.0 CPU iowait % 40.0 60.0 80.0 HDD Temp °C 45.0 52.0 60.0 CPU steal % 10.0 15.0 20.0 文件系统 50.0 70.0 90.0 Load 0.7 1.0 5.0 CPU process % 50.0 70.0 90.0 RAM % 50.0 70.0 90.0 MEM process % 50.0 70.0 90.0 ......省略N行 a 自动排序 l Show/hide logs c 根据CPU使用率排序 b Bytes or bits for network I/O m 根据内存占用比排序 w 删除警告日志 p 根据进程名字排序 x 删除警告和严重级别的日 i Sort processes by I/O rate 1 全局CPU或者每个CPU的状态 d 显示/隐藏硬盘I/O状态 h Show/hide this help screen f 显示/隐藏文件系统状态 t View network I/O as combination n 显示/隐藏network状态 u View cumulative network I/O s 显示/隐藏sensors状态 q Quit (Esc and Ctrl-C also work) y 显示/隐藏hddtemp状态
-b:以Byte为单位显示网卡数据数率。
-d:关闭磁盘I/O模块。
-f 目录路径 :设定输入文件位置。
-o {HTML|CSV}: 输出格式。
-m:禁用mount模块。
-n:禁用网络模块。
-t #:延迟时间间隔。
-1:每个CPU的相关数据单独显示。
服务模式:
glances -s -B IP地址
#IP地址:指明监听于本机哪个地址
客户端模式:
glances -c IP地址
#IP地址:要连入的服务器端地址
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system-- usr sys idl wai hiq siq| read writ| recv send| in out | int csw 0 0 100 0 0 0| 0 0 | 60B 346B| 0 0 | 15 23 0 0 100 0 0 0| 0 0 | 120B 868B| 0 0 | 20 17 0 0 99 0 0 1| 0 40k| 60B 346B| 0 0 | 26 43 0 0 100 0 0 0| 0 0 | 60B 346B| 0 0 | 17 16 0 1 99 0 0 0| 0 0 | 60B 346B| 0 0 | 15 12 1 0 99 0 0 0| 0 0 | 60B 346B| 0 0 | 16 14 0 0 100 0 0 0| 0 0 | 60B 346B| 0 0 | 17 21 0 0 100 0 0 0| 0 0 | 60B 346B| 0 0 | 18 17 0 0 100 0 0 0| 0 40k| 60B 346B| 0 0 | 18 19 0 1 99 0 0 0| 0 0 | 60B 346B| 0 0 | 21 17 0 0 100 0 0 0| 0 0 | 60B 346B| 0 0 | 13 10 0 0 100 0 0 0| 0 0 | 60B 346B| 0 0 | 22 21 0 0 100 0 0 0| 0 0 | 60B 346B| 0 0 | 14 11 0 0 100 0 0 0| 0 0 | 60B 346B| 0 0 | 19 15 0 0 99 0 0 1| 0 12k| 60B 346B| 0 0 | 22 22 1 1 98 0 0 0| 0 0 | 303B 346B| 0 0 | 20 14
执行 dstat 命令的时候,默认他会 收集-cpu-、-disk-、-net-、-paging-、-system-的数据,一秒钟收集一次。默认输入 dstat 等于输入了dstat -cdngy 1或dstat -a 1
语法:dstat 选项 采样的时间间隔数(单位为秒) 采样的次数
-c:显示CPU相关信息
-d;显示磁盘相关信息
-g:显示page相关统计数据。
-m:显示内存相关统计数据。
-n:显示网络相关统计数据。
-p:显示进程统计数据。
-r:显示I/O请求相关的统计数据。
-s:显示交换内存相关统计数据。
--top-cpu;显示最占用CPU的进程。
--top-io:显示最占用I/O的进程。
--top-mem;显示最占用内存的进程。
--top-lantency:显示延迟最大的进程。
kill -l :显示当前系统可用信号。
[root@tomtwo ~]# kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8 43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2 63) SIGRTMAX-1 64) SIGRTMAX [root@tomtwo ~]#
常用信号:
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...
# SIGNAL:指定信号的方法
终止“名称”之下的所有进程:
killall [-SIGNAL] Program
本文出自 “汤姆的博客” 博客,请务必保留此出处http://3037673.blog.51cto.com/3027673/1825848
标签:进程管理
原文地址:http://3037673.blog.51cto.com/3027673/1825848