Linux进程查看与管理命令总结
-
内核的功能:
-
进程管理
-
文件系统
-
网络功能
-
内存管理
-
驱动程序
-
安全功能
-
Process:运行中程序的一个副本。(存在生命周期)
-
Linux内核存储进程信息的固定格式:task struct
-
多个任务的task struct组件的链表:task list
-
进程创建:
-
init
-
父子关系
-
进程:都有其父进程创建
-
fork(),clone()
-
进程优先级:
-
0-139:
-
1-99:实时优先级:数字越大,优先级越高
-
100-139:静态优先级:数字越小,优先级越高
-
Nice值:-20,19
-
Big O标准
-
O(1),O(logn),O(n),0(n^2),O(2^n)
-
进程内存
-
Page Frame:页框,用存储页面数据
-
存储Page
-
MMU:Memory Management Unit
-
IPC:Inter Process Communicarion(进程通信机制)
-
同一主机上:
-
signal
-
shm:shared memory
-
semerphor
-
不同主机上:
-
rpc:remote procecure call(远程过程调用)
-
socket:
-
Linux内核:抢占式多任务
-
进程类型:
-
守护进程:在系统引导过程中启动的进程,与终端无关的进程。
-
前台进程:跟终端相关,通过终端启动的进程
-
注:也可将在前台启动的进程送往后台,以守护模式运行。
-
进程状态
-
运行态:running
-
就绪态:ready
-
睡眠态:
-
可中断:interruptable
-
不可中断:uninterruptable
-
停止态:暂停于内存中,但不会被调度,除非手动启动之:stopped
-
僵死态:zombie
-
进程的分类:
-
cpu-Bound
-
IO-Bound
-
Linux系统上的进程查看及管理工具:pstree,ps,pidof,pgrep,top ,htop,glances,pmap,vnstat,dstat,kill,pkill,job,bg,fg,nohup,nice,renice,killall,…
-
pstree命令:pstree-display a tree of processes
-
ps命令:
-
/proc/:内核中的状态信息;
-
内核参数:
-
可设置其值从而调整内核运行特性的参数;/proc/sys/
-
状态变量:其用于输出内核中统计信息或状态信息,仅用于查看;
-
进程:
-
/proc/#:(#:PID)
-
ps-report a snapshot of the current processes
-
ps[options]
-
选项有三种风格:
-
UNIX options,which may be grouped and must be preceded by a dash。
-
BSD options,which may be grouped and must not be used with a dash。
-
GNU long options,which are preceded by two dashes。
-
启动进程的方式:
-
系统启动过程中自动启动:与终端无关的进程;
-
用户通过终端启动:与终端相关的进程;
-
选项:
-
a:所有与终端相关的进程;
-
x:所有与终端无关的进程;
-
u:以用户为中心组织进程状态信息显示;
-
常用组合之一:aux
-
VSZ:虚拟内存集;
-
RSS:Resident Size,常驻内存集;
-
STAT:
-
R:running
-
S:interruptable sleeping
-
D:uninterruptable sleeping
-
T:Stopped
-
Z:zombie
-
+:前台进程
-
I:多线程进程
-
N:低优先进程
-
<:高级优先进程
-
s:session leader
-
常用组合二:-ef
-
-F:显示完整格式的进程信息;
-
C:cpu utilization
-
PSR:运行于那颗CPU之上
-
-H:以层级结构显示进程的相关信息;
-
常用组合三:-eFH
-
常用组合四:
-
o field1,field2,…:自定义要显示的字段列表,以逗号分隔;
-
常用的field:pid,ni,pri,psr,pcpu,stat,comm,tty,ppid,rtprio
-
ni:nice值
-
pri:priority,优先级;
-
rtprio:real time priority;实时优先级;
-
pgrep,pkill命令:-look up or signal processes based on name and other attributes
-
pgrep[options]pattern
-
-u uid:effective user
-
-U uid:read user
-
-t TERMINAL:与指定的终端相关的进程;
-
-l显示进程名;
-
-a:显示完整格式的进程名;
-
-P pid:显示此进程的子进程;
-
pidof命令:
-
根据进程名,取其pid;
-
top命令;
-
-display Linux processes
-
排序:
-
P:以占据cpu百分比排序;
-
M:以占据内存百分比排序;
-
T:以占用cup时间排序;
-
首部信息:
-
uptime信息:I命令
-
tasks及cpu信息:t命令
-
内存信息:m命令
-
退出命令:q
-
修改刷新时间命令:s
-
终止指定的进程:k
-
选项:
-
-d #:指定刷新时间间隔,默认为3秒;
-
-b:以批次方式显示;
-
-n #:显示多少批次;
-
uptime命令:显示系统时间、运行时长及平均负载;
-
过去1分钟、5分钟和15分钟的平均负载;
-
等待运行的进程队列长度
-
htop命令:
-
选项:
-
-d #:指定延迟时间间隔;
-
-u UserName:仅显示指定用户的进程;
-
-s COLUME:以指定字段进行排序;
-
子命令:
-
l:显示选定的进程打开的文件列表;
-
s:跟踪选定的进程的系统调用;
-
t:以层级关系显示各进程的状态;
-
a:将选定的进程绑定至某指定的CPU核心;
-
vmstat命令:
-
-Report virtual memory statistics
-
vmstat [option][delay[count]]
-
procs:
-
r:等待运行的程序的个数;CPU上等待运行的任务的队列长度;
-
b:处于不可中断睡眠态的进程个数;被阻塞的任务队列的长度;
-
memory:
-
swpd:交换内存使用总量;
-
free:空闲的物理内存总量;
-
buffer:用于buffer的内存总量;
-
cache:用于cache的内存总量
-
swap:
-
si:数据进入swap中的数据速率(kb/s)
-
so:数据离开swap的速录(kb/s)
-
io:
-
bi:从块设备读入数据到系统的速度(kb/s)
-
bo:保存数据至块设备的速率(kb/s)
-
system:
-
in:interrupts,终端速率;
-
cs:context switch,上下文切换的速率;
-
cpu
-
us:user space
-
sy:system
-
id:idle
-
wa:wait
-
st:stolen
-
选项:
-
-s:显示内存统计数据;
-
pmap命令:-report memory map of a process
-
pmap [options]pid[…]
-
-x:显示详细格式的信息;
-
另一种查看方式:cat /proc/PIDmaps
-
glances命令: -A cross-platform curses-based monitoring tool
-
内建命令
-
常用选项:
-
-b:以Byte为单位显示网上数据速率;
-
-d:关闭磁盘I/O模块;
-
-m:关闭mount模块;
-
-n:关闭network模块;
-
-t #:刷新时间间隔;
-
-1:每个cpu的相关数据单独显示
-
-o{HTML|CSV}:输出格式;
-
-f /PATH/TO/SOMEDIR:设定输出文件的位置;
-
C/S模式下运行glances命令;
-
服务模式:
-
glances -s -B IPADDR
-
IPADDR:本机的地址,用于监听;
-
客户端模式
-
glances -c IPADDR
-
IPADDR:是远程服务器的地址
-
dstat命令:-vversatile tool for generating system resource statistics
-
dstat[-afv][options…][delay[count]]
-
常用选项:
-
-c: 显示cpu相关信息
-
-C #,#,…,total
-
-d: 显示disk相关信息
-
-D total,sda,sdb,…
-
-g:显示page相关统计数据
-
-m: 显示memory相关统计数据
-
-n: 显示network相关统计数据
-
-p: 显示process相关统计数据
-
-r: 显示io请求相关的统计数据
-
-s: 显示swapped相关的统计数据
-
–tcp
-
–udp
-
–unix
-
–raw
-
–socket
-
–ipc
-
–top-cpu:显示最占用CPU的进程
-
–top-io: 显示最占用io的进程
-
–top-mem: 显示最占用内存的进程
-
–top-latency: 显示延迟最大的进程
-
kill命令: -terminate a process向进程发送控制信号,以实现对进程管理
-
显示当前系统可用信号:
-
kill -l
-
每个信号的表示方法有三种;
-
1)信号的数字标识;
-
2)信号的完整名称;
-
3)信号的简写名称;
-
向发信号:
-
kill[-s signal|-SIGNAL]PID…
-
常用信号:
-
1) SIGHUP: 无须关闭进程而让其重读配置文件
-
2) SIGINT: 中止正在运行的进程;相当于Ctrl+c
-
9) SIGKILL: 杀死正在运行的进程
-
15) SIGTERM:终止正在运行的进程
-
18) SIGCONT:
-
19) SIGSTOP: 指定信号的方法:
-
(1) 信号的数字标识;1, 2, 9
-
(2) 信号完整名称;SIGHUP
-
(3) 信号的简写名称;HUP
-
killall命令: -kill processes by name
-
killall [-SIGNAL] program
原创文章,作者:502795641,如若转载,请注明出处:http://www.178linux.com/44497
评论列表(1条)
尽量能将笔记转换为优秀的博客来,而不是粘贴笔记,相信自己,加油!!!