Linux系统--Linux进程与作业管理(2)
Linux进程相关的基本概念已经了解,Linux进程管理的一些命令:
pstree,ps,pidof,pgrep,top,htop,glance,pmap,vmstat,dstat,kill,pkil,job,bg,fg,nohup
1.pstree命令:
pstree - display a tree of processes:以树状形式显示当前系统进程,和命令tree相似。
2.ps命令: ps - report a snapshot of the current processes
命令格式:ps [options]
常用组合:aux:
u:以用户为中心组织的进程状态信息显示
a:与终端相关的进程
x:与终端无关的进程
其中PID:进程ID号
%CPU:占用的CPU使用率
%MEM:内存的使用率
VSZ:占用虚拟内存的大小
RSS:占用内存的大小
STAT:进程状态:
R:running,正在运行的
S:处于休眠状态的,可中断的休眠状态
D:无法中断的休眠状态
T:Stop
Z:僵死进程
P:等待页面交换
N:低优先级进程
<:高优先级进程
+:位于后台的进程组
l:多线程进程
s:进程的领导者
常用组合:-ef
-e:显示所有进程
-f:显示完整格式的程序信息
常用组合:-eFH
-F:显示完整格式的进程信息
-H:以进程层级格式显示进程相关信息
常用组合:-eo,-axo:
-eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,comm
axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
3.pidof命令:
pidof -- find the process ID of a running program
[root@server ~]# pidof pidof
3752
4.pgrep命令和pkill
pgrep, pkill - look up or signal processes based on name and other attributes
pgrep来获得正在被调度的进程的相关信息。pgrep通过匹配其程序名,找到匹配的进程
pgrep命令相当于ps -eo pid,comm | grep PRO_NAME
eg:
# ps -eo pid,comm | grep init
1 init
# pgrep init -l
1 init
pgrep 常用选项:
-u uid:显示与有效用户相关的进程信息
-U uid:显示与真实用户相关的进程信息
-t terminal:与指定终端相关的进程
-l:显示进程名和id
-a:显示完整格式的进程名
-P pid:显示其父进程为此处指定的进程的进程列表
-o:匹配多个进程时,显示进程id最小的那个
-n:匹配多个进程时,显示进程id最大的那个
pkill:kill掉运行中的进程。
#pkill 正在运行的进程名
常用选项:
-t terminal:杀死与终端terminal相关的进程
-U Username:杀死与用户相关的进程:
5.top命令:
Top命令用来监控Linux的系统状况。比如CPU,内存的使用等。
top基本视图解析:
第一行分别表示:当前系统时间,系统运行了多长时间,当前有几个用户登录系统,load average后面三个数分别是1分钟,5分钟,15分钟的负载情况。
load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。
第二行:Tasks: 106 total当前系统进程的总数,1个处于运行中,105处理睡眠状态,0个处于stoped ,0个处于僵死状态。
第三行:CPUs:
us:用户空间占用cpu的百分比。
sy:内核空间占用CPU的百分比
ni:改变过优先级的进程占用CPU的百分比
id:空闲CPU百分比
wa:IO等待占用CPU的百分比
hi:硬中断占用CPU的百分比
si:软中断占用的CPU的百分比
第四行:Mem:
total:物理内存总量
used:使用的内存总量
free:空闲的内存总量
buffers:缓存的内存总量
第五行:Swap:
total:交换分区总量
used:使用交换区总量
free:空闲交换区总量
cached:缓冲交换区总量
一台计算机的可用内存为:第四行的free+第四行的buffer+第五行的cached。
统计区域各列的含义:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
PID:进程id
PPID:父进程id
USER:Real username
PR:优先级
NI:Nice值
VIRT:进程使用的虚拟内存总量,单位kb,VIRT=SWAP+RES
SWAP:使用的虚拟内存中被换出的大小,单位kb。
RES:进程使用的,未被换出的物理内存的大小,单位kb.
RES=CODE+DATA
CODE:可执行代码占用的物理内存大小,单位kb
DATA:可执行代码使用的数据(数据段+栈)占用的物理内存大小,单位kb
SHR:共享内存大小,单位kb
%CPU:上次更新到现在的CPU时间占用百分比
%MEM:进程使用物理内存百分比
TIME+:进程使用的CPU时间总计,单位为1/100秒
COMMAND:命令名
默认情况下:进入Top之后,各个进程是按CPU的占有量来排序的。
1.进去top之后,按b键,打开或关闭加亮效果。通过按y键关闭或打开运行态的进程。
2.按x键,打开或关闭排序列的加亮效果,再按shift+>或shift+< 可以左右移动加亮排序列
3.按f键,top会进入另一个视图,可编辑基本视图显示的字段。如:
如果想加载显示的字段,就桥底段前面的字母,如想显示CODE和DATA字段,就按 r和s键,然后回车。
4.按数字1 可以监控每个逻辑CPU的状况。
5.命令l:uptime信息
6.命令t:tasks及CPU信息
7.命令m:memory信息
8.命令s:修改刷新时间间隔
9.命令k:终止指定的进程
10.命令q:退出top
6.htop命令:
htop是Linux系统中的一个互动的进程查看器,一个文本模式的应用程序 ,与Linux传统的top命令相比,htop更人性化,他可以让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,支持鼠标操作。
可以从Fedora-EPEL源下载htop命令,也可以源码安装。
htop界面:
htop常用选项:
-d #:指定延时时间
-u UserName:只显示指定用户的进程
-s COLOMN:以指定字段进行排序
htop启动之后的交互式命令:
空格键:标记/取消标记一个进程。使用其他命令可以作用多个进程,例如kill。可以杀死所标记的进程。
U:取消所有标记的进程
s:跟踪选定进程的系统调用
l:显示选定进程打开的文件列表
a:将选定的进程绑定至某指定的CPU核心
t:显示进程树
由于htop命令启动之后的界面上的参数和top命令的相似,在这就不在介绍。
查看一下F1~F10的功能和对应的字母快捷键
F1---h,? ---->查看htop的使用说明
F2---S------->htop设定
F3---/ -------->搜索进程
F4---\ -------->增量进程过滤器
F5---t------->显示树形结构
F6---<,>----->选择排序方式
F7---[-------->可减少nice的值,提高对应进程的优先级
F8---]-------->可增加nice的值,减低对应进程的优先级
F9---k------->kill a process
F10---q---->退出htop