进程管理 命令: pstree 显示:进程树 pstree–p 显示:进程树和PID
ps:process state Linux运行中的内核的相关信息是通过/proc伪文件系统输出的;各进程都有一个以其PID命名的子目录,每个子目录中有许多文件存储了进程的相关状态信息。显示的是ps命令执行时,系统上当前进程状态信息的快照;所以,为静态结果。
根据进程启动时是否是通过终端上的用户接口交互式启动的,进程可分为两类: ps a 显示:终端相关的进程 ps x 显示:终端无关的进程 ps u 显示:用户为中心组织进程状态信息显示
常用选项组合1: ps axu USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND VSZ: Virtualmemory Size 线性地址空间占用的空间大小 RSS:常用驻内存集;指不可以被交换至swap空间的数据占据空间大小 STAT:进程状态 R: running,运行状态 S:interruptiblesleeping,可中断睡眠 D:uniterruptiblesleeping, 不可中断睡眠 T: stopped 停止态 Z: zombie 僵死态 s: session leader 会话主进程 +: 前台进程,占据着某终端 l: 多线程进程 <: 高优先级进程 N: 低优先级进程
START: 启动时间 TIME: 占据CPU累积时长 COMMAND: 启动当前进程或线程的命令行程序,[]表示为内核线程
常用选项组合2: ps –ef -e: 显示所有进程 -f: 显示丰富格式信息 常用选项组合3: ps -eFH -F: 显示额外信息 -H: 以层级形式显示进程间关系 自定义需要显示的信息: ps axo pid,command,psr,pri,ni psr: 当前进程运行的CPU编号 pri: 当前进程的优先级 ni: 当前进程的nice值 -20, 19 值越小优先级越高
pgrep –U “root” 仅显示以指定用户身份运行的进程 pgrep –G “root” pgrep –l “tty”
pidof /bin/bash
uptime 显示系统负载行
top 进入另一个界面: P:以占据的CPU百分比大小排序 M:以占据Memory空间大小排序 T:CPU累积占用时间排序
l: 是否显示系统负载行 队列长度的合理区间:CPU颗数*0.7 t: 是否显示进程摘要信息及CPU负载状态 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 us:user space sy:system (kernel space) ni:nice id:idle wa:wait io hi:hardware interrupt si:software interrupt st:stolen, 被虚拟机“偷走”的百分比 1:(数字1)平均或单独显示CPU的负载状态 m: 是否显示内存相关的状态信息 q: 退出命令 s: 修改延迟时长 k: 终止指定进程 top –b –n 2 显示2批次的进程数量 top –d 1 显示1秒延迟时长
htop 切换到交互界面 u: 过滤仅显示选定用户的进程 s:跟踪选定的进程所发起的系统 l:显示选定进程所打开的文件 t:显示进程的层次结构 a:设定进程的cpu亲缘性(将选定的进程绑定在指定的CPU上) htop –d 3 延迟时长3秒 htop –uroot 显示root用户的进程
vmstat 1 5 1:延时时长1秒 5:全部刷新5次 vmstat 2 2:延时时长2秒
procs: r:等待运行的进程个数(队列长度) b:处理不可中断睡眠状态的进程个数(即IO阻塞队列长度)
memory: swpd:交换内存使用量 free:空间的物理内存量 buffer:用于缓冲的内存总量 cache:用于缓存的内存总量
swap: si:数据进入swap中的速率(kb/s) so:数据离开swap中的速率(kb/s)
io: bi:从块设备读入数据到系统的速率(kb/s) bo:保存数据至块设备的速率(kb/s)
system: in:中断速率 cs:进程切换的速率
vmstat -s 显示内在的状态统计数据 硬件接口文件:/proc/数字 pmap -x 1 查看pid进程为1的内存映射关系 cat /pro c/1/maps 显示pid进程为1的内存映射关系
glances 显示硬件各数据状态
远程模式配置 服务端 glances –s -B 192.168.1.110 -B用于指明监听本地地址 客户端 glances -c 192.168.1.110 -c 用于连入的服务端的IP地址
dstat –c 显示cpu性能指标相关的统计数据 dstat -d 显示disk相关的速率数据 dstat -g 显示page相关的速率数据 dstat -i 显示interrupt相关的速率数据 dstat -l 显示loadaverage相关的统计数据 dstat -m 显示memory相关的统计数据 dstat -n 显示网络收发数据的速率 dstat -p 显示进程相关的统计数据 dstat -r io请求的速率 dstat -s 显示swap的相关数据 dstat -y 显示系统相关的数据,包括中断和进程切换 dstat --top-cpu 显示最占用CPU的进程 dstat --top-bio 显示最消耗block io的进程 dstat --top-io 最占用io的进程 dstat --top-mem 显示最占用内存的进程 dstat --ipc 显示进程间通信相关的速率数据 dstat --raw 显示raw套接的相关的数据 dstat --tcp 显示tcp套接字的相关数据 dstat --udp 显示udp套接字的相关数据 dstat --unix 显示unix sock接口相关的统计数据 dstat -a 显示全部信息 dstat 显示全部信息 dstat -cdngy 显示全部信息
进程间的短小信息 kill向进入发送信号 kill -9 1198(PID) 发送9信号给1198(PID)进程 信号表示意思: SIGHUP:1, 通知进程重读其配置文件以让新的配置生效,但不用重新启动进程 SIGINT:2, 打断正在运行中的进程,相当于键盘组合键Ctrl+c SIGKILL:9, 强行中止正在运行中的进程 SIGTERM: 15, 安全中止正在运行中的进程 SIGSTOP: 19, 暂停进程 SIGCONT: 18, 继续运行指定进程
killall -9 vsftpd 发送9信号给vsftpd进程
作业运行于后台方式 ctrl+z 作业被送往后台后,默认处于stopped状态 vim vim.txt & 以上两类方式,仍然与终端相关;终端终止,将会导致与此终端相关的所有作业被终止 nohup vim vim.txt& 剥离进程与终端的关系,关闭终端。进程依然正常运行
作业查看 jobs 查看后台作业 fg 2 把后台2号作业调回前台 bg 2 把后台2号作业启动起来,让其后台默默运行;但此作业必须支持运行于后台 kill %2 终止2号作业,%不能少。 (责任编辑:IT) |