Linux进程查看与管理
2015-09-03 13:55
417 查看
(A)、进程相关的概念计算机实际上可以做的事情实质上非常简单,比如计算两个数的和,再比如在内存中寻找到某个地址等等。这些最基础的计算机动作被称为指令(instruction).程序(program)是由这些指令的集合所构成。程序一般是存储在磁盘上某个路径下的一个可执行文件,程序运行起来后,便成了进程(process),因此,进程便是程序的具体实现。因为Linux的哲学思想之一便是组合小程序,完成复杂任务,因此,要完成某功能可能需要启动多个小程序,因此,进程也会产生多个。进程都运行于内存当中。 每个进程在系统中都会有一个唯一的数字标识符,这个数字被称为进程的PID(Process ID).Linux系统在开机后,会自动运行起第一个程序(/sbin/init),在进程中的名字为init,PID为1,init进程在会一直存在于内存中,直到系统关机才会被销毁。其他程序运行起来,都是通过init进程来调用fork()函数生成的。因此init管理所有进程。进程若需要完成某一任务时,会调用fork()函数生成一个新进程,这个新进程会复制老进程的所有内容,并在内存中获段一段新的地址空间,新进程便是老进程的子进程,继承老进程的所有属性,而老进程便是新进程的父进程(Parent process).相对于子进程来讲,子进程通过PPID(Parent Process ID)来标识符进程。即,除init以外所有进程都会有一个PPID为1.进程有优先级概念,同一时刻,CPU只有一颗,如果N多进程都要使用CPU来完成工作,那么必须需要排队等待,这样效率极低,为解决这一难题,对cpu进行时间分片,规定每个进程只允许在cpu上运行特定的一小段时间,时间段过去后,不管进程任务是否完成,都会被T出CPU,因此,需要给进程优先级来帮助紧要任务优先使用cpu。进程有0-139个优先级别。0-99这100个级别为动态优先级,标识着进程在cpu上的所剩时间,随时间的变化而变化,也被称为实时优先级。100-139为进程的静态优先级,可通过nice值对其进行修改。静态优先级所对应的nice值为-20~19,即-20对应100,19对应139.进程分为两类:a、 前台进程(用户进程):由用户通过终端启动的进程b、 守护进程(daemon):由内核在系统引导过程中启动的进程Attention:前台进程也可以被送往后台,以守护模式运行。(具体操随后演示) 进程的运行状态,及在进程查看器中显示的标记:a、 运行中(Running),通常以”R”标记b、 就绪态(Ready)c、 睡眠态可中断睡眠: S (Interruptible sleep),不需要额外数据准备的进程不可中断睡眠:D (Uninterruptible sleep),正在IO读写数据的进程d、 停止态:T (Stopped)e、 僵死态:Z(Zombie)子进程完成任务,释放进程所占用的资源,进入僵死状态,等待父进程收回f、 ”+”代表前台进程g、 ”<” 高优先级进程h、 “N”低优先级进程i、 “s” 表示该进程是某一进程的父进程 (B)、进程查看与管理的命令:1、 ps命令、- report a snapshot of the current processes.man手册对其的描述为报告当前进程的快照,也就是说在命令行键入ps那一时刻,系统中所运行的进程状态信息。实际上,进程查看工具所对用户的反馈信息都是通过读取/proc下,以数字(PID)开头的目录中的信息作以呈现。
![](http://s3.51cto.com/wyfs02/M02/72/99/wKiom1Xn5mXQgyoHAAN5ZdT-4ys506.jpg)
ps命令格式有两种:1、Unix风格,选项加”-” ;2、BSD风格,选项不加”-”常用选项有: A、)Unix风格常用选项:常用组合(ps –eFH)-e 显示所有进程-f 将发起进程的命令以完整格式显示-F 显示额外的完整信息-H 以树状格式显示进程如:在命令行键入:ps-ef
![](http://s3.51cto.com/wyfs02/M00/72/99/wKiom1Xn5oDgdMZqAAM4gfljKOI069.jpg)
图中N多用[]括起来的是内核的某些功能,我们可以忽略;执行ps –efH以树状格式显示进程,子进程相对于父进程会有缩进,查看后几行的进程,如下图
![](http://s3.51cto.com/wyfs02/M01/72/96/wKioL1Xn6K3QymgFAASaSFLRpH8503.jpg)
图中可见,init进程PID为1,为所有进程的父进程执行ps –eFH,科显示更为详细的属性信息,如下图
![](http://s3.51cto.com/wyfs02/M02/72/96/wKioL1Xn6MCzh0BRAAGjj1y6hvY810.jpg)
上图中的各标题的意义:UID 表示此进程是由哪个用户执行命令创建的PID 进程的ID号PPID 父进程ID号C 占用cpu的百分比SZ 进程所占的物理页大小RSS 常驻内存集大小(不能放入交换分区的数据和指定)PSR 运行在的CPU编号STIME 进程的启动时间TTY 启动进程的终端,?表示与终端无关TIME 在CPU上运行的总时长CMD 运行此进程的命令 B、)BSD风格常用选项; 常用组合(ps aux) a 显示与终端相关的进程 u 以用户为中心,组织进程状态信息显示 x 显示与终端无关的集成
![](http://s3.51cto.com/wyfs02/M01/72/99/wKiom1Xn5qmgWMhjAAIeTQJy8uA584.jpg)
上图中,各标题的意义: 与Unix风格的显示标题近乎接近: USER 进程的属主 PID 进程的PID %CPU 同Unix风格的标题C,占用CPU的百分比 %MEM 占用内存的百分比 VSZ 虚拟内存集大小(可交换至交换分区的数据或指令) RSZ 物理内存集大小(不可交换至交换分区的数据和指令) TTY 启动该进程的终端 STAT 该进程的状态 TIME 该进程在cpu上的运行时长 COMMAND 该进程是由哪个命令所执行 若想查看某一进程的相关信息,可使用管道进行命令组合来执行:例如:查看bash进程的相关信息:
2、 pgrep、pidof命令该命令跟上一个进程或命令,可查看搜索与进程相关的PID,例如:
3、 pkill 命令pkillUSERNAME 杀死与USERNAEM相关的所有进程pkill PROCESS 杀死进程名相关的所有进程例如:
4、 top命令—以特定间隔时间刷新显示内存中的任务信息命令的使用很简单,在命令行模式下键入top,便可启动,
![](http://s3.51cto.com/wyfs02/M02/72/99/wKiom1Xn5rrjMnx6AAXXcqCZ34U387.jpg)
top命令的顶部被分成三个区域,红色区域为系统的时间相关,黄颜色区域为cpu相关;橙色区域内存相关,这三个区域分别对应”l”、”t”、”m”三个字母来打开或关闭显示。 上述三个区域的每个参数简介: 红色区域: Up之前的时间为当前系统时间 Up 10 min 为系统的开机以来所运行的时长 1 user 表明当前系统共有1个用户登录 Load average:后面的三个数字分别表示1分钟内的负载情况;5分钟内的负载;15分钟内的负载
黄颜色区域:Tasks: 145total, 1 running, 144 sleeping, 0 stopped, 0 zombie共有145个进程,1个正在运行,144个处于运行状态,0个停止状态,0个僵死状态Cpu(s): 0.2%us, 0.2%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st us: 用户进程,未经过调整nice值的所占cpu的百分比 sy:系统指令所占cpu的百分比 ni:调整过nice值的进程所占cpu的百分比 id:cpu的空闲百分比 wa:等待IO的时间百分比 hi:处理硬中断的时间百分比 si:处理软中断的时间百分比 st:被虚拟化所偷走的时间百分比橙色区域Mem/swap:总空间,已用空间,空闲空间,用于缓冲的空间 在top的运行窗口中,键入”h”来获取帮助信息。常用选项如下:“Z”调整显示颜色 ;”B”关键字加粗显示k 输入k键跟上PID杀死进程;'r' 重新设置进程的nice值输入1键,如果主机有多颗cpu,会展开显示,如下:
![](http://s3.51cto.com/wyfs02/M00/72/96/wKioL1Xn6OrQmdXQAAIrwR893og653.jpg)
“M” 以内存占用百分比进行排序“P” 以cpu占用百分比进行排序“T” 以累积占据cpu时长进行排序直接键入”s”,可调整top的刷新频率,如下:
![](http://s3.51cto.com/wyfs02/M00/72/99/wKiom1Xn5tLTlYQRAAJ-QHmJ9FY859.jpg)
“2”为设定的刷新时间,以秒为单位;关于top命令的显示标题说明: PID 进程的PID USER 进程的属主,即发起该进程的用户 PR 进程的优先级 NI 进程的nice值 VIRT 进程所占的虚拟内存大小 RES 进程的常驻内存大小 SHR 进程的共享内存大小 S 进程的运行状态 %CPU 进程所占cpu的百分比 %MEM 进程所占内存的百分比 TIME+ 进程在CPU上运行的总时长 COMMAND 发起进程的命令或程序Top命令还有几个常用选项: top –b 批次分页方式显示 -n # 可指明批次分页显示的次数 -d # 指明刷新时间如:[root@www~]# top -d 3 ;进入top界面后,就会以3秒的间隔进行刷新5、 htop命令:由Fedra研发,因此,要想获取该命令可在Fedra EPEL源中进行下载安装;该命令的运行机制和top命令一样,也是以固定的时间间隔进行刷新显示进程的相关信息。相比top而言,htop的显示比较漂亮,功能也比top强大一些,并且操作更加直观一些;启用方法也是直接在命令行中键入htop命令即可启动该程序;如下
![](http://s3.51cto.com/wyfs02/M01/72/99/wKiom1Xn5tzRAUPAAAeLdN8jgU8133.jpg)
按F2键进入设置模式,可调整顶部的显示格式以及其他功能;如下:
![](http://s3.51cto.com/wyfs02/M02/72/96/wKioL1Xn6Q6BBTNnAAJszk_CUxk362.jpg)
F3键可键入想要搜索的进程关键字,若想删除键入的关键字,需要按住Ctrl键+退格键才可以删除
![](http://s3.51cto.com/wyfs02/M02/72/99/wKiom1Xn5vSx1BNiAAbp7mWUkPo849.jpg)
F4键键入关键字,便会只显示与关键字相关的进程信息,若想删除键入的关键字,需要按住Ctrl键+退格键才可以删除;如下:
![](http://s3.51cto.com/wyfs02/M00/72/96/wKioL1Xn6SbxM-j-AAHEu6JGS14770.jpg)
htop界面所显示的内容标题和top中的标题含义一样,可参考top命令的标题;在此界面中有三个常用的选项参数: s 可追踪进程的系统条用 l 可列出进程所打开的文件 a 可将进程绑定至指定cpu上运行 6、 vmstat -- 查看虚拟内存的使用情况,通过读取/proc/stat和/proc/*/stat中的数据回馈给用户。常用选项: -s 显示内存统计信息,读取/proc/meminfo -n 指定刷新延迟时间,默认vmstat只显示一次信息,但指定延迟后,会根据延迟时长循环输出信息至屏幕 -t 指定刷新间隔后,限定刷新显示的次数
相关显示标题介绍:procs -----------memory---------- ---swap-- -----io---- --system-------cpu----- r b swpd free buff cache si so bi bo in cs us syid wa st r 等待运行的进程的长度(个数) 单颗cpu出现3个以上,则说明性能略差 b 等待io完成的不可中断睡眠态的进程个数(被阻塞的队列的长度) memory swapd 交换内存的使用总量 free 物理内存的空闲总量 buffer 用于buffer的内存总量 cache 用于cache的内存总量 swap si 数据进入到swap的速率,单位是kb/s so 数据离开swap的速率,单位kb/s io bi 从块设备读入数据到内存中的速率 kb/s bo 保存数据至块设备的速率kb/s system in 中断速率,每秒发生的速率个数 cs 上下文(进程切换)的速率 cpu us 用户空间 st 被虚拟化偷走的时间比例 7、 pmap 报告进程的内存映射关系 读取/proc/PID/maps文件 pmap- report memory map of a process大多数情况下,直接使用pmap PID 查看进程所打开的文件在内存的地址空间 8、 glances命令:和htop类似,从Fedra EPEL源中获取,查看系统的各项指标信息;
![](http://s3.51cto.com/wyfs02/M02/72/96/wKioL1Xn6YPSGpxCAAV5HXv5v-s293.jpg)
可敲“h”键获取帮助,可根据自定义进行各参数的排序,定义是否显示某个模块;详情参照h帮助界面;也可在进入界面前使用命令选项进行定义显示格式: glances -b 以Byte为单位,显示网卡数据速率 -d 关闭磁盘io模块 -f /PATH/TO/somewhere 设置输入文件的位置及格式 -o {HTML|CSV} -m 关闭mount 魔铠 -n 禁用网络模块 -1 单独显示cpu的信息 C/S 模式运行glances远程连接 Server模式: glances-s -B IPADDR 本地地址 Client模式: glances-c IPADDR 9、 dstat---以特定的刷新时间,逐次将内核各项指标显示至标准输出;
![](http://s3.51cto.com/wyfs02/M02/72/99/wKiom1Xn52rypBlaAAFH9_G6vVE916.jpg)
常用选项: -c 显示cpu统计信息 -C 显示指定cpu的属性 -d 显示硬盘读写速率 -D 指定字段,例如 dstat -D total,sda -p 显示进程统计数据 -r 显示io请求相关的数据 -s 显示交换内存的统计数据 --top-cpu 最占用cpu --top-mem最占用内存 --top-latency 显示延迟最大的进程 --top-io 最占据io 10、 kill及killall命令----同过向进程发送控制信号,来控制进程kill –l 可列出kill命令所支持的所有信号;常用的信号有如下几个: 1-----SIGHUP 通知进程重读配置文件而不重启 2-----SIGINT 终止正在运行的进程,相当于Ctrl+c 9-----SIGKILL 杀死正在运行的进程 15----SIGTERM 终止正在运行的进程,允许保存正在读写的文件 18----SIGCONT 让停止的进程继续 19----SIGSTOP 让进程停止 Kill 命令格式: kill [-s signal|-p] [--]pid...例如,在当前系统启动apache进程;在kill命令杀死指定进程,操作如下:
如何让作业运行于后台 1、对于运行中的作业:ctrl+z
![](http://s3.51cto.com/wyfs02/M00/72/96/wKioL1Xn6ZnAh-sJAAEXP5rPJ1g330.jpg)
2、尚未启动的作业: # COMMAND & ****此类作业虽然被送往后台,但仍然与终端相关; 如果希望与终端剥离,需使用nohup COMMAND 查看所有作业:Jobs查看后台作业;[root@www ~]# jobs ##查看当前后台所有作业
[1]+ Stopped dstat作业控制:fg [%]JOB_NUM 把作业调回前台
bg[%]JOB_NUM 让作业在后台继续运行 kill%JOB_NUM 杀死后台作业
![](http://s3.51cto.com/wyfs02/M02/72/99/wKiom1Xn5mXQgyoHAAN5ZdT-4ys506.jpg)
ps命令格式有两种:1、Unix风格,选项加”-” ;2、BSD风格,选项不加”-”常用选项有: A、)Unix风格常用选项:常用组合(ps –eFH)-e 显示所有进程-f 将发起进程的命令以完整格式显示-F 显示额外的完整信息-H 以树状格式显示进程如:在命令行键入:ps-ef
![](http://s3.51cto.com/wyfs02/M00/72/99/wKiom1Xn5oDgdMZqAAM4gfljKOI069.jpg)
图中N多用[]括起来的是内核的某些功能,我们可以忽略;执行ps –efH以树状格式显示进程,子进程相对于父进程会有缩进,查看后几行的进程,如下图
![](http://s3.51cto.com/wyfs02/M01/72/96/wKioL1Xn6K3QymgFAASaSFLRpH8503.jpg)
图中可见,init进程PID为1,为所有进程的父进程执行ps –eFH,科显示更为详细的属性信息,如下图
![](http://s3.51cto.com/wyfs02/M02/72/96/wKioL1Xn6MCzh0BRAAGjj1y6hvY810.jpg)
上图中的各标题的意义:UID 表示此进程是由哪个用户执行命令创建的PID 进程的ID号PPID 父进程ID号C 占用cpu的百分比SZ 进程所占的物理页大小RSS 常驻内存集大小(不能放入交换分区的数据和指定)PSR 运行在的CPU编号STIME 进程的启动时间TTY 启动进程的终端,?表示与终端无关TIME 在CPU上运行的总时长CMD 运行此进程的命令 B、)BSD风格常用选项; 常用组合(ps aux) a 显示与终端相关的进程 u 以用户为中心,组织进程状态信息显示 x 显示与终端无关的集成
![](http://s3.51cto.com/wyfs02/M01/72/99/wKiom1Xn5qmgWMhjAAIeTQJy8uA584.jpg)
上图中,各标题的意义: 与Unix风格的显示标题近乎接近: USER 进程的属主 PID 进程的PID %CPU 同Unix风格的标题C,占用CPU的百分比 %MEM 占用内存的百分比 VSZ 虚拟内存集大小(可交换至交换分区的数据或指令) RSZ 物理内存集大小(不可交换至交换分区的数据和指令) TTY 启动该进程的终端 STAT 该进程的状态 TIME 该进程在cpu上的运行时长 COMMAND 该进程是由哪个命令所执行 若想查看某一进程的相关信息,可使用管道进行命令组合来执行:例如:查看bash进程的相关信息:
[root@www ~]# psaux | grep bash root 1960 0.0 0.1 108472 1856 pts/0 Ss+ 06:51 0:00 -bash root 2463 0.0 0.1 108472 1848 pts/1 Ss 07:55 0:00 -bash root 2646 0.0 0.0 103252 836 pts/1 S+ 08:28 0:00 grep bash或者
[root@www ~]# ps-ef | grep bash root 1960 1957 0 06:51 pts/0 00:00:00 -bash root 2463 1957 0 07:55 pts/1 00:00:00 -bash root 2651 2463 0 08:29 pts/1 00:00:00 grep bash
2、 pgrep、pidof命令该命令跟上一个进程或命令,可查看搜索与进程相关的PID,例如:
[root@www ~]# pidof /bin/bash 2463 1960 [root@www ~]# pgrep bash 1960 2463
3、 pkill 命令pkillUSERNAME 杀死与USERNAEM相关的所有进程pkill PROCESS 杀死进程名相关的所有进程例如:
[root@www ~]#service httpd start Starting httpd: httpd:apr_sockaddr_info_get() failed for www.welcome.com httpd: Could notreliably determine the server's fully qualified domain name, using 127.0.0.1for ServerName [ OK ] [root@www ~]# psaux | grep htt root 2045 0.0 0.3 186396 3892 ? Ss 09:05 0:00 /usr/sbin/httpd apache 2048 0.0 0.2 186528 2496 ? S 09:05 0:00 /usr/sbin/httpd apache 2049 0.0 0.2 186528 2496 ? S 09:05 0:00 /usr/sbin/httpd apache 2050 0.0 0.2 186528 2496 ? S 09:05 0:00 /usr/sbin/httpd apache 2051 0.0 0.2 186528 2496 ? S 09:05 0:00 /usr/sbin/httpd apache 2052 0.0 0.2 186528 2496 ? S 09:05 0:00 /usr/sbin/httpd apache 2053 0.0 0.2 186528 2496 ? S 09:05 0:00 /usr/sbin/httpd apache 2054 0.0 0.2 186528 2496 ? S 09:05 0:00 /usr/sbin/httpd apache 2055 0.0 0.2 186528 2496 ? S 09:05 0:00 /usr/sbin/httpd root 2057 0.0 0.0 103256 844 pts/0 S+ 09:05 0:00 grep htt [root@www ~]#pkill httpd [root@www ~]# psaux | grep htt root 2060 0.0 0.0 103252 836 pts/0 S+ 09:05 0:00 grep htt
4、 top命令—以特定间隔时间刷新显示内存中的任务信息命令的使用很简单,在命令行模式下键入top,便可启动,
![](http://s3.51cto.com/wyfs02/M02/72/99/wKiom1Xn5rrjMnx6AAXXcqCZ34U387.jpg)
top命令的顶部被分成三个区域,红色区域为系统的时间相关,黄颜色区域为cpu相关;橙色区域内存相关,这三个区域分别对应”l”、”t”、”m”三个字母来打开或关闭显示。 上述三个区域的每个参数简介: 红色区域: Up之前的时间为当前系统时间 Up 10 min 为系统的开机以来所运行的时长 1 user 表明当前系统共有1个用户登录 Load average:后面的三个数字分别表示1分钟内的负载情况;5分钟内的负载;15分钟内的负载
可由[root@www ~]# uptime 命令获取;
黄颜色区域:Tasks: 145total, 1 running, 144 sleeping, 0 stopped, 0 zombie共有145个进程,1个正在运行,144个处于运行状态,0个停止状态,0个僵死状态Cpu(s): 0.2%us, 0.2%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st us: 用户进程,未经过调整nice值的所占cpu的百分比 sy:系统指令所占cpu的百分比 ni:调整过nice值的进程所占cpu的百分比 id:cpu的空闲百分比 wa:等待IO的时间百分比 hi:处理硬中断的时间百分比 si:处理软中断的时间百分比 st:被虚拟化所偷走的时间百分比橙色区域Mem/swap:总空间,已用空间,空闲空间,用于缓冲的空间 在top的运行窗口中,键入”h”来获取帮助信息。常用选项如下:“Z”调整显示颜色 ;”B”关键字加粗显示k 输入k键跟上PID杀死进程;'r' 重新设置进程的nice值输入1键,如果主机有多颗cpu,会展开显示,如下:
![](http://s3.51cto.com/wyfs02/M00/72/96/wKioL1Xn6OrQmdXQAAIrwR893og653.jpg)
“M” 以内存占用百分比进行排序“P” 以cpu占用百分比进行排序“T” 以累积占据cpu时长进行排序直接键入”s”,可调整top的刷新频率,如下:
![](http://s3.51cto.com/wyfs02/M00/72/99/wKiom1Xn5tLTlYQRAAJ-QHmJ9FY859.jpg)
“2”为设定的刷新时间,以秒为单位;关于top命令的显示标题说明: PID 进程的PID USER 进程的属主,即发起该进程的用户 PR 进程的优先级 NI 进程的nice值 VIRT 进程所占的虚拟内存大小 RES 进程的常驻内存大小 SHR 进程的共享内存大小 S 进程的运行状态 %CPU 进程所占cpu的百分比 %MEM 进程所占内存的百分比 TIME+ 进程在CPU上运行的总时长 COMMAND 发起进程的命令或程序Top命令还有几个常用选项: top –b 批次分页方式显示 -n # 可指明批次分页显示的次数 -d # 指明刷新时间如:[root@www~]# top -d 3 ;进入top界面后,就会以3秒的间隔进行刷新5、 htop命令:由Fedra研发,因此,要想获取该命令可在Fedra EPEL源中进行下载安装;该命令的运行机制和top命令一样,也是以固定的时间间隔进行刷新显示进程的相关信息。相比top而言,htop的显示比较漂亮,功能也比top强大一些,并且操作更加直观一些;启用方法也是直接在命令行中键入htop命令即可启动该程序;如下
![](http://s3.51cto.com/wyfs02/M01/72/99/wKiom1Xn5tzRAUPAAAeLdN8jgU8133.jpg)
按F2键进入设置模式,可调整顶部的显示格式以及其他功能;如下:
![](http://s3.51cto.com/wyfs02/M02/72/96/wKioL1Xn6Q6BBTNnAAJszk_CUxk362.jpg)
F3键可键入想要搜索的进程关键字,若想删除键入的关键字,需要按住Ctrl键+退格键才可以删除
![](http://s3.51cto.com/wyfs02/M02/72/99/wKiom1Xn5vSx1BNiAAbp7mWUkPo849.jpg)
F4键键入关键字,便会只显示与关键字相关的进程信息,若想删除键入的关键字,需要按住Ctrl键+退格键才可以删除;如下:
![](http://s3.51cto.com/wyfs02/M00/72/96/wKioL1Xn6SbxM-j-AAHEu6JGS14770.jpg)
htop界面所显示的内容标题和top中的标题含义一样,可参考top命令的标题;在此界面中有三个常用的选项参数: s 可追踪进程的系统条用 l 可列出进程所打开的文件 a 可将进程绑定至指定cpu上运行 6、 vmstat -- 查看虚拟内存的使用情况,通过读取/proc/stat和/proc/*/stat中的数据回馈给用户。常用选项: -s 显示内存统计信息,读取/proc/meminfo -n 指定刷新延迟时间,默认vmstat只显示一次信息,但指定延迟后,会根据延迟时长循环输出信息至屏幕 -t 指定刷新间隔后,限定刷新显示的次数
例如: [root@www ~]# vmstat procs -----------memory---------- ---swap-- -----io------system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 833156 16440 62808 0 0 8 1 15 13 0 0 100 0 0 [root@www ~]# vmstat -n 2 -t 3 procs -----------memory---------- ---swap-- -----io------system-- -----cpu------ ---timestamp--- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 832064 16448 62808 0 0 8 1 15 13 0 0 100 0 0 2015-09-03 10:42:31 CST 0 0 0 832024 16448 62808 0 0 0 0 30 20 0 0 100 0 0 2015-09-03 10:42:33 CST 0 0 0 831992 16448 62808 0 0 0 0 20 15 0 0 100 0 0 2015-09-03 10:42:35 CST
相关显示标题介绍:procs -----------memory---------- ---swap-- -----io---- --system-------cpu----- r b swpd free buff cache si so bi bo in cs us syid wa st r 等待运行的进程的长度(个数) 单颗cpu出现3个以上,则说明性能略差 b 等待io完成的不可中断睡眠态的进程个数(被阻塞的队列的长度) memory swapd 交换内存的使用总量 free 物理内存的空闲总量 buffer 用于buffer的内存总量 cache 用于cache的内存总量 swap si 数据进入到swap的速率,单位是kb/s so 数据离开swap的速率,单位kb/s io bi 从块设备读入数据到内存中的速率 kb/s bo 保存数据至块设备的速率kb/s system in 中断速率,每秒发生的速率个数 cs 上下文(进程切换)的速率 cpu us 用户空间 st 被虚拟化偷走的时间比例 7、 pmap 报告进程的内存映射关系 读取/proc/PID/maps文件 pmap- report memory map of a process大多数情况下,直接使用pmap PID 查看进程所打开的文件在内存的地址空间 8、 glances命令:和htop类似,从Fedra EPEL源中获取,查看系统的各项指标信息;
![](http://s3.51cto.com/wyfs02/M02/72/96/wKioL1Xn6YPSGpxCAAV5HXv5v-s293.jpg)
可敲“h”键获取帮助,可根据自定义进行各参数的排序,定义是否显示某个模块;详情参照h帮助界面;也可在进入界面前使用命令选项进行定义显示格式: glances -b 以Byte为单位,显示网卡数据速率 -d 关闭磁盘io模块 -f /PATH/TO/somewhere 设置输入文件的位置及格式 -o {HTML|CSV} -m 关闭mount 魔铠 -n 禁用网络模块 -1 单独显示cpu的信息 C/S 模式运行glances远程连接 Server模式: glances-s -B IPADDR 本地地址 Client模式: glances-c IPADDR 9、 dstat---以特定的刷新时间,逐次将内核各项指标显示至标准输出;
![](http://s3.51cto.com/wyfs02/M02/72/99/wKiom1Xn52rypBlaAAFH9_G6vVE916.jpg)
常用选项: -c 显示cpu统计信息 -C 显示指定cpu的属性 -d 显示硬盘读写速率 -D 指定字段,例如 dstat -D total,sda -p 显示进程统计数据 -r 显示io请求相关的数据 -s 显示交换内存的统计数据 --top-cpu 最占用cpu --top-mem最占用内存 --top-latency 显示延迟最大的进程 --top-io 最占据io 10、 kill及killall命令----同过向进程发送控制信号,来控制进程kill –l 可列出kill命令所支持的所有信号;常用的信号有如下几个: 1-----SIGHUP 通知进程重读配置文件而不重启 2-----SIGINT 终止正在运行的进程,相当于Ctrl+c 9-----SIGKILL 杀死正在运行的进程 15----SIGTERM 终止正在运行的进程,允许保存正在读写的文件 18----SIGCONT 让停止的进程继续 19----SIGSTOP 让进程停止 Kill 命令格式: kill [-s signal|-p] [--]pid...例如,在当前系统启动apache进程;在kill命令杀死指定进程,操作如下:
[root@www~]# service httpd start ##启动httpd程序 Startinghttpd: httpd: apr_sockaddr_info_get() failed for www.welcome.com httpd:Could not reliably determine the server's fully qualified domain name, using127.0.0.1 for ServerName [ OK ] [root@www~]# ps aux | grep httpd ##搜索与httpd相关的进程 root 2574 0.0 0.3 186396 3896 ? Ss 11:03 0:00 /usr/sbin/httpd apache 2577 0.0 0.2 186528 2500 ? S 11:03 0:00 /usr/sbin/httpd apache 2578 0.0 0.2 186528 2500 ? S 11:03 0:00 /usr/sbin/httpd apache 2579 0.0 0.2 186528 2500 ? S 11:03 0:00 /usr/sbin/httpd apache 2580 0.0 0.2 186528 2500 ? S 11:03 0:00 /usr/sbin/httpd apache 2581 0.0 0.2 186528 2500 ? S 11:03 0:00 /usr/sbin/httpd apache 2582 0.0 0.2 186528 2500 ? S 11:03 0:00 /usr/sbin/httpd apache 2583 0.0 0.2 186528 2500 ? S 11:03 0:00 /usr/sbin/httpd apache 2584 0.0 0.2 186528 2500 ? S 11:03 0:00 /usr/sbin/httpd root 2595 0.0 0.0 103256 844 pts/1 S+ 11:04 0:00 grep httpd [root@www~]# kill 2577 ##信号若不给定,kill命令默认传递第15信号; [root@www~]# ps aux | grep httpd ## PID为2577的进程已不在内存中; root 2574 0.0 0.3 186396 3896 ? Ss 11:03 0:00 /usr/sbin/httpd apache 2578 0.0 0.2 186528 2500 ? S 11:03 0:00 /usr/sbin/httpd apache 2579 0.0 0.2 186528 2500 ? S 11:03 0:00 /usr/sbin/httpd apache 2580 0.0 0.2 186528 2500 ? S 11:03 0:00 /usr/sbin/httpd apache 2581 0.0 0.2 186528 2500 ? S 11:03 0:00 /usr/sbin/httpd apache 2582 0.0 0.2 186528 2500 ? S 11:03 0:00 /usr/sbin/httpd apache 2583 0.0 0.2 186528 2500 ? S 11:03 0:00 /usr/sbin/httpd apache 2584 0.0 0.2 186528 2500 ? S 11:03 0:00 /usr/sbin/httpd root 2599 0.0 0.0 103256 844 pts/1 S+ 11:05 0:00 grep httpd killall命令,命令格式与kill一样,但是killall会杀死给定进程名相关的所有进程 [root@www~]# killall -15 httpd [root@www~]# ps aux | grep httpd ##httpd的进程已全被清清除 root 2606 0.0 0.0 103252 836 pts/1 S+ 11:07 0:00 grep httpd
如何让作业运行于后台 1、对于运行中的作业:ctrl+z
![](http://s3.51cto.com/wyfs02/M00/72/96/wKioL1Xn6ZnAh-sJAAEXP5rPJ1g330.jpg)
2、尚未启动的作业: # COMMAND & ****此类作业虽然被送往后台,但仍然与终端相关; 如果希望与终端剥离,需使用nohup COMMAND 查看所有作业:Jobs查看后台作业;[root@www ~]# jobs ##查看当前后台所有作业
[1]+ Stopped dstat作业控制:fg [%]JOB_NUM 把作业调回前台
[root@www ~]# fg ## 若存在多个后台程序,则需要使用fg %作业id,如fg %1 dstat 0 0 100 0 0 0| 0 16k|4747B 876B| 0 0 |1055 981 missed 79 ticks 0 0 100 0 0 0| 0 0 | 60B 394B| 0 0 | 7 6 0 0 100 0 0 0| 0 0 | 60B 346B| 0 0 | 14 13 0 0 100 0 0 0| 0 0 | 60B 346B| 0 0 | 22 17 ^C [root@www ~]#
bg[%]JOB_NUM 让作业在后台继续运行 kill%JOB_NUM 杀死后台作业
相关文章推荐
- Hegemon:使用 Rust 编写的模块化系统监视程序
- mysql 前几条记录语句之(limit)
- top、clientTop、scrollTop、offsetTop
- 使用 TOP 子句限制UPDATE 语句更新的数据
- asp中 select top 问题!~
- 关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别
- js中top的作用深入剖析
- JS window对象的top、parent、opener含义介绍
- 国外正流行的不常见Linux发行版简介
- linux top命令查看内存及多核CPU的使用讲述 [转]
- mssql server利用top分页
- Linux top 命令详解
- linux top命令详解
- pgrep kill pkill killall
- htop 使用
- Linux 指令篇:工作行程资讯与管理--top
- linux top进程状态D
- Linux glances基本使用
- top命令的Load average 含义及性能参考基值
- linux top命令详解