1.jobs [-lrs]:观察目前的背景中的工作状态,参数,
-l:除了列出job number与指令串之外,同时列出PID的号码
-r:进列出正在背景run的工作
-s:仅列出正在背景中暂停的工作
指令执行后的+号表示最近最后被放到背景的工作号码,-代表最后第二个放置到背景中的工作号码。而超过第三个以后的工作就不再有+/-号了。
2.fg %jobnumber:将背景中的工作拿到前景来处理,参数:
1)%jobnumber为工作号码(数字),这个%是可有可无的,如果不加任何参数,则表示将+(最近最后)的那个背景工作拿到前景中来执行,fg -代表将-那个工作号码拿出来到前景中取运行。
3.bg:让工作在背景中的指令由暂停状态运行状态(ctr+z可使程序在背景中暂停),参数同fg。
4.kill -signal %jobnumber;kill -l:管理背景中的工作,参数,
1)-l:列出目前kill能够使用的讯号
2)signal:代表给予后面接的那个工作什么样的指示,用man 7 signal可知:
-1:重新读取一次参数的配置文件
-2:代表由键盘输入ctr+c同样的动作
-9:立刻强制删除一个工作
-15:以正常的程序方式终止一项工作
5.背景是指终端机模式下,可以避免ctr+c中断的一个情景,并不是放到系统的背景去,所以工作管理的背景依旧与终端机有关,在这样的情况下,如果是以远程联机的方式连接的linux主机,并且将工作以&方式放到背景中处理,工作尚未结束的情况下脱机,该工作不会继续进行了,就会到此终止掉。
6.nohup [指令与参数]:在终端机前景中工作;nohup [指令与参数] &在终端机背景中去工作。需要注意的是nohup并不支持bash的内建指令,因此你的指令必须是外部指令才行。
7.ps :将某个时间点的程序运作情况撷取下来,几个常用的组合,
1)ps aux:观察所有的程序数据
2)ps -IA:观察所有的系统数据
3)ps axjf:连同分程序树状态
4)ps -l:只查阅自己bash的程序
各个分参数:
1)-A:所有的process均显示出来,与-e具有同样的效用
2)-a:不与terminal有关的所有process
3)-u:有效使用者相关的process
4)x:通常与a一起用,可以列出较完整的信息
输出格式规划:
5)l:较长,较详细的将该PID的信息列出
6)j:工作格式
7)-f:做一个更为完整的输出
ps -l:中各项参数的意义:
F:代表这个程序的标识(flag),常见的有:
4:表示这个程序的权限为root
1:表示此子程序仅进行fork而没有实际执行exec
S:代表这个程序的状态,主要的状态有:
R:该程序正在运作中
S:改程序目前处于睡眠状态,但可以被唤醒
D:不可被唤醒的睡眠状态,通常这只程序在等待IO的情况
T:停止状态,可能是在工作控制(背景暂停)或除错状态
Z:僵尸状态,程序已经终止但无法被移除至内存外
UID/PID/PPID:代表此程序被该UID所拥有的/程序的PID号码/此程序的PID号码
C:代表CPU使用率,单位为百分比
PRI/NI:priority/nice的缩写,代表此程序被CPU所执行的优先级,数值越小代表该程序越快被CPU执行
ADDR/SZ/WCHAN:都与内存由关,ADDR是kernel function,指出该程序在内存的哪个部分,如果是running的程序,一般会显示-,/SZ代表此程序的用掉了多少内存/WCCHAN表示目前程序是否在运行中
,同样若为-表示运作中
TTY:登入者的终端机位置,若为远程登录则使用动态终端接口(pts/n)
TIME:使用掉的CPU时间,是此程序实际花掉的cpu时间,而不是系统时间
CMD:指令
ps aux中各项参数的含义,
USER:该process属于哪个使用者账号
PID:进程ID
%CPU:CPU利用率
%MEM:占用内存的百分比
VSZ:该process使用掉的虚拟内存(Kbytes)
RSS:该process占用的固定内存(Kbytes)
TTY:该程序跑的终端设备,tty1-6是本机的,ps/0等,表示由网络连接进主机的程序
STAT:该程序目前的状态
START:该process被触发启动的时间
TIME:该process实际使用的CPU时间
COMMAND:该程序实际使用的指令
8.僵尸程序:通常造成僵尸程序的成因是因为该程序应该已经执行完毕,或者是因故应该要终止了,但是该程序的父进程却无法完整的讲该程序结束掉,而造成那个程序一直在内存中。这样的程序在cmd后面还会接上<defunct>表示该程序是僵尸程序
更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2015-01/111235p2.htm
1.top [-d 数字];top [-bnp]:动态观察程序的变化,参数,
1)-d:后面接秒数,就是整个程序画面更新的秒数。预设是5秒
2)-b:以批次的方式执行top,通常会搭配数据流从导向来将批次结果输出成为档案。
3)-n:与-b搭配,意义是,需要进行几次top输出结果
4)-p:指定某些个PID来进行观察检测而已。
在top执行过程中可以使用的按键指令:
?:显示在top当中可以输入的指令按键
P:以cpu的使用资源;排序
M:以Memery的使用资源排序显示
N:以PID来排序
T:由该Process使用的CPU时间累积(TIME+)排序
k:给予某个PID一个讯号
r:给予某个PID重新定制一个nice值
q:离开top软件的按键
top界面介绍,top分为两个界面,上面的画面为整个系统的资源使用情况,基本总共有6行,显示的内容表示:
第一行,这一行显示的信息分别为(各个信息以空格分开):
目前的时间,
开机到目前所经过的时间
已经登入系统的人数
系统在1,5,15分钟的平均负载
第二行,显示目前程序的总量,与个别程序在什么状态(running,sleeping,stopped,zombie)。
第三行,显示的是cpu的整体负载,包括用户拥有的进程数所占的百分比,系统运行的进程数的百分比,io等待的进程所占的百分比等
第四、五行,表示目前无力内存与虚拟内存的使用情况。
第六行,表示当在top中输入指令时,显示状态的地方
下面部分则是每个process的资源使用情况,分别代表,
PID,进程编号
USER,该进程的所有者
PR,Priority的简写,优先级,越小越先执行
NI,nice的简写,是priority的的修正值,也是越小越先执行,可参考,http://www.kuqin.com/linux/20090424/47813.html
%CPU,CPU利用率
%MEM,内存使用率
TIME+:CPU使用事件的累加
top预设以cpu的使用率来排序的
2.pstree [-a|U][-up]:以树形结构显示进程状态信息,参数,
1)-a:各程序树之间的连接以ASCII字符来连接
2)-U:各程序树之间的连接是以UTF-8编码码的字符来连接。在某些终端接口下可能会有错误,
3)-p:并同时列出每个process的pid
4)-u:并同时列出每个process的所属账号名称
3.killall -signal [-iIe] 指令名称:通过下达指令的名称来杀死进程,参数
1)-i:interactive,交互式,会提示字符给用户
2)-e:exact的意思,表示后面接的command name要一致,但整个完整的指令不能超过15个字符
3)-I:指令名称(可能含有参数)忽略大小写
signal的值参见上一篇博客(http://7613577.blog.51cto.com/7603577/1598771)
4.PRI和Nice的关系:Nice是PRI的修正值,需要注意的是,
1)Nice的可调整范围为-20~19
2)root可以随意调整自己或他人程序的Nice值,且范围为-20~19
3)一般用户的仅可以调整自己程序的nice值,且范围为0-19(避免一般用户抢占资源
4)一般用户仅可将nice值越调越高,
5.nice [-n 数字] command:新执行的指令即给予新的nice值
-n:后面接一个数值,数值范围-20~19
6.renice [number] PID:已存在的程序重新调整nice
值。
7.nice值可以由父程序向子程序之间传递。
1.free [-bkmg][-t]:观察内存使用情况,参数,
1)-b:直接输入free时,显示的单位是Kbytes,我们可以使用b(bytes),m(Mbytes)
2)-t:在输出的最终结果,显示物理内存与swap总量
2.uname [-asrmpi]:系统核心相关的信息,参数,
1)-a:所有系统相关的信息都i将被列出来
2)-s:系统的硬件统核心名称
3)-r:核心的版本
4)-m:本系统的硬件名称,例如i686等
5)-p:CPU类型,与-m类似,只是显示的是CPU类型
6)-i:硬件的平台
3.upname:观察系统启动时间与工作负载,即显示top的第一行信息
4.netstat [-atunlp]:追踪网络或插槽文件,经常被用在网络监控方面,基本上netstat的输出分为两部分,分别是网络与系统自己的程序相关的部分,参数,
1)-a:将目前系统上面所有的联机、监听、Socket数据列出来
2)-t:列出tcp网络封包的数据
3)-u:列出udp网络封包的数据
4)-n:以端口号来显示
5)-l:列出目前正在网络监听的服务
6)-p:列出该网络服务的程序PID
结果显示解读:
Active Internet connection(w/o servers)与网络相关的部分
Proto:网络的封包协议,主要分为TCP与UDP封包,
Recv-Q:非由用户程序链接到此sockets的赋值的总bytes数
Send-Q:非由远程主机传送过来的acknowledge总bytes
Local Address:本地端的IP:port情况
Foreign:远程主机的IP:port情况
State:联机状态主要有建立(ESTABLISED)及监听(LISTEN)
Active UNIX domain sockets (w/o servers)与本机程序自己的相关性,结果中socket file的输出字段有,
Proto:一般是unix
RefCnt:链接到此socket的程序数量
Flags:联机的旗标
Type:socket存取的类型。主要有确认链接的STREAM与不需要确认的DGRAM
State:若为CONNECTED表示多个程序之间已经联机建立
Path:连接到此socket的相关程序的路径,或者是相关数据输出路径
本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-01/111235.htm
1.dmesg:分析核心产生的信息,系统在开机的时候会侦测系统的硬件,这些信息被记录到内存中的某个保护区段,该指令就是将这些信息取出来。
2.vmstat [-a][延迟[总计侦测次数]],cpu内存、等信息;vmstat[-fs],内存相关,vmstat [-S 单位],设定显示单位;vmstat [-d],与磁盘相关;vmstat [-p 分隔槽],与磁盘相关:侦测系统资源变化,可以侦测CPU,内存,磁盘输入输出状态等等。参数,
1)-a:使用inactive/active(活跃与否)取代buffer/cache的内存输出信息
2)-f:将开机到目前为止,系统复制(fork)的程序数
3)-s:将一些事件(开机至目前为止)导致的内存变化情况列表说明
4)-S:后面可接单位,让显示的数据有单位,例如K/M取代bytes的容量
5)-d:列出磁盘的读写总量统计表
6)-p:后面列出分隔槽,可显示该分割槽的读写总量统计表
结果解读:
r:等待运作中的程序数;b:不可被唤醒的程序数量;这两个项目越多,代表系统越繁忙
swpd:虚拟内存被使用的容量;free:未使用的内存容量;buff:用于缓冲存储器;cache:用于高速缓存
si:由磁盘中将程序取出的量;so:由于内存不足而将没用到的程序写入到磁盘的swap的容量。如果si/so的数值太大,表示内存的数据常常得在磁盘与主存储器之间穿来穿去,系统效能会很差
bi:由磁盘写入区块数量;bo:写入到磁盘去的区块数量;如果这部分数值越高,代表系统的I/O非常忙碌
in:每秒被中断的程序次数;cs:每秒钟进行的时间切换次数;这两个数值越大,代表系统与接口设备沟通非常频繁,这些接口设备当然包括磁盘,网络卡,时间钟等
us:非核心的CPU使用状态;sy:核心层所使用的CPU状态;id:闲置的状态;wa:等待I/O所耗费的CPU状态;st:被虚拟机所盗用的CPU使用状态
3.fuser [-umv] [-k [i] [-signal]] file/dir:查看程序在启动的过程中开启了多少档案。参数:
1)-u:除了程序的PID之外,同时列出该程序的拥有者
2)-m:后面接的那个档名主动的上提到该文件系统的最顶层,对umount不成功很有效
3)-v:可以列出每个档案与程序还有指令的完整相关性
4)-k:找出使用该档案/目录的PID,并试图以SIGKILL这个讯号给予改PID
5)-i:必须与-k配合,在删除PID之前会先询问使用者意愿
6)-signal:例如-1 -15等等,若不加,预设是SIGKILL(-9)
该指令只有root才可以执行,在带有参数-v时,ACCESS选项的代表的意义为:
c:此程序在当前目录下(非次目录)
e:可悲触发为执行状态
f:代表顶层目录
F:该档案被开启了,不过在等待回应中
m:可能为分享的动态函数库
4.lsof [-aUu] [+d]:查询某个程序开启 数,
1)-a:多项数据需要同时建立才显示出结果
2)-U:进列出Unix like系统的socket文件类型
3)-u:后面接username,列出该用户相关程序所开启的档案
4)+d:后面接目录,亦即找出某个目录底下已经被开启的档案。
5.pidof [-sx] program_name:找出某只正在执行的程序的PID,后面可以同时接多个程序名,参数:
1)-s:仅列出一个PID而不是列出所有的PID
2)-x:同时列出该program name尽可能的PPID那个程序的PID。