进程管理工具使用
2018-09-01 05:36:19来源:博客园 阅读 ()
常用工具及命令:pstree、ps、pidof、pgrep、top、htop、vmstat、glances、dstat、kill、bg、fg、nice、renice
一、 pstree - display a tree of processes
1 yum install psmisc //软件包包含命令pstree、killall、fuser
二、ps - report a snapshot of the current processes
用法:ps [options]
u:以用户为中心组织进程状态信息显示
a: 与终端相关的进程
x: 与终端无关的进程
-e: 显示所有进程
-f: 显示完整格式程序信息
-F: 显示完整格式的进程信息
-H: 以进程层级格式显示进程相关信息
实例:
[root@alen ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.6 193468 6576 ? Ss 13:49 0:01 /usr/lib/systemd/systemd --switched-root --system
root 2 0.0 0.0 0 0 ? S 13:49 0:00 [kthreadd]
各条目含义:
USER: 进程属主
PID:进程ID
%CPU: CPU占用时间比
%MEM: 内存占用时间比
VSZ:virtual memory size,虚拟内存集
RSS:ReSident Size,常驻内存集
TTY: 终端
START: 进程状态
R:running
S: interruptable sleeping
D: uninterruptable sleeping
T: stopped
Z: zombie
+: 前台进程
l:多线程进程
N:低优先级进程
<: 高优先级进程
s: session leader
START: 启动时间
TIME: 进程占用CPU的累计时长
COMMAND:进程由哪条命令运行起来的
[root@alen ~]# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 13:49 ? 00:00:02 /usr/lib/systemd/systemd --switched-root --system --deserialize 2 root 2 0 0 13:49 ? 00:00:00 [kthreadd]
各条目含义:
UID: 进程属主id
PID: 进程id
PPID:父进程id
C: CPU编号
STIME: start time
TTY:终端
TIME:进程占用CPU累计时长
[root@alen ~]# ps -eFH UID PID PPID C SZ RSS PSR STIME TTY TIME CMD root 2 0 0 0 0 1 13:49 ? 00:00:00 [kthreadd] root 3 2 0 0 0 0 13:49 ? 00:00:00 [ksoftirqd/0]
ps -eo {pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,comm}
ps -axo {stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm}
ni:nice值
pri: priority,优先级
psr: processor,CPU
rtprio: 实时优先级
三、pgrep, pkill - look up or signal processes based on name and other attributes
用法:pgrep [options] pattern pkill [options] pattern -u uuid: effective user,有效用户id -U uuid:real user,实际用户id -t terminal: 与指定终端相关的进程 -l: 显示进程名 -a: 显示完整格式的进程名 -P pid:显示其父进程为此处指定的进程的进程列表
四、pidof -- find the process ID of a running program,根据进程名获取其PID
五、top - display Linux processes,动态显示进程状态
[root@alen ~]# top
top - 19:43:38 up 5:53, 3 users, load average: 0.00, 0.01, 0.05 Tasks: 117 total, 1 running, 114 sleeping, 2 stopped, 0 zombie %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni, 99.8 id, 0.2 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 997980 total, 454352 free, 154824 used, 388804 buff/cache KiB Swap: 2097148 total, 2097148 free, 0 used. 647980 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 703 root 20 0 298712 6112 4784 S 0.3 0.6 0:24.18 vmtoolsd 1 root 20 0 193468 6576 4088 S 0.0 0.7 0:02.07 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
内置命令:
排序:
P:以占据的CPU百分比排序
M:以占据的内存百分比排序
T:以累计占据CPU时长排序
首部信息显示与关闭:l键
Tasks及cpu信息显示与关闭:t键
cpu分别显示:数字1
memory信息: m键
修改刷新时间间隔:s键
终止指定进程:k键
退出命令:q键
选项:
-d #: 指定刷新时间间隔,默认为3秒
-b: 以批次方式显示
-n #: 显示多少批次
第一行:
top - 19:43:38 up 5:53, 3 users, load average: 0.00, 0.01, 0.05
当前系统时长 运行时长 当前系统登录的用户数 平均负载(过去一分钟、五分钟、十五分钟)
第二行:
Tasks: 117 total, 1 running, 114 sleeping, 2 stopped, 0 zombie
运行的进程数 运行状态的进程数 睡眠态的进程数 停止态的进程数 僵死态的进程数
第三行
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni, 99.8 id, 0.2 wa, 0.0 hi, 0.0 si, 0.0 st
用户空间程序占用的百分比 内核空间 nice值 空闲比例 wait等待io完成的时间 处理硬件中断 处理软中断(模式切换) 虚拟化技术所使用的时间
第四行
KiB Mem : 997980 total, 454352 free, 154824 used, 388804 buff/cache
物理内存总空间 空闲空间 已用空间 buff和cache占据的空间
KiB Swap: 2097148 total, 2097148 free, 0 used. 647980 avail Mem
总空间 空闲空间 可用空间
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
进程号 进程属主 优先级 nice值 虚拟内存集 常驻内存集 共享内存大小 进程状态
六、htop - interactive process viewer,动态显示进程状态,(需要设置EPEL源)
[root@alen ~]# htop
选项:
-d #:指定延迟时间
-u UserName: 仅显示指定用户的进程
-s COLOMN:以指定字段进行排序
s:跟踪选定进程的系统调用
l:跟踪选定进程打开的文件列表
a:将选定的进程绑定至某指定cpu核心
t:显示进程数
七、vmstat - 报告虚拟内存的统计信息
用法:vmstat [-n] [延时[次数]]
[root@alen ~]# 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 679632 2120 175388 0 0 69 4 93 109 0 0 99 0 0 procs: r: 等待运行的进程的个数 b:处于不可中断睡眠态的进程个数:(被阻塞的队列的长度) memory: swap: 交换内存的使用总量 free:空闲物理内存总量 buffer:用于buffer的内存总量 cache:用于cache的内存总量 swap: si:数据进入swap中的数据速率(kb/s) so:数据离开swap中的数据速率(kb/s) io: bi:从块设备读入数据到系统的速率(kb/s) bo:保存数据至块设备的速率 system: in:interrupts,中断速率 cs:context switch,进程切换速率 cpu: us:用户空间占据cpu的比例 sy:内核空间占据cpu的比例 id:空闲比例 wa: 等待IO完成所消耗的时间比例 st:被虚拟化技术使用的时间比例 选项: -s: 显示内存的统计数据
八、pmap - report memory map of a process,报告内存的映射关系
pmap [options] pid [...]
-x:显示详细格式的信息
另外一种实现:
cat /proc/PID/maps
九、glances - A cross-platform curses-based system monitoring tool
用法:glances [OPTIONS]: h打开帮助选项
内建命令:
a Sort processes automatically b Bytes or bits for network I/O c Sort processes by CPU% l Show/hide alert logs m Sort processes by MEM% w Delete warning alerts u Sort processes by USER x Delete warning and critical alerts p Sort processes by name 1 Global CPU or per-CPU stats i Sort processes by I/O rate I Show/hide IP module t Sort processes by TIME D Enable/disable Docker stats d Show/hide disk I/O stats T View network I/O as combination f Show/hide filesystem stats U View cumulative network I/O n Show/hide network stats F Show filesystem free space s Show/hide sensors stats g Generate graphs for current history 2 Show/hide left sidebar r Reset history z Enable/disable processes stats h Show/hide this help screen 3 Enable/disable quick look plugin q Quit (Esc and Ctrl-C also work) e Enable/disable top extended stats / Enable/disable short processes name 0 Enable/disable Irix process CPU
常用选项: -b: 以Byte为单位显示网卡数据速率 -d:关闭磁盘I/O模块 -f /path/to/somefile: 设定输入文件位置及其格式 -o {html|CSV}: 输出格式 -m:禁用mount模块 -n:禁用网络模块 -t #:延迟时间间隔 -l:每个CPU的相关数据单独显示
C/S模式下运行glances命令
服务模式: glances -s -B 192.168.0.108 //指明监听于本机哪个地址 客户端模式: glances -c 192.168.0.108 //要连入的服务器地址
十、dstat - versatile tool for generating system resource statistics,用来显示系统资源统计数据的精巧的工具
用法:dstat [-afv] [options..] [delay [count]] -c:显示cpu相关信息 -C #,#...,total -d:显示disk相关信息 -D total,sda,sdb,... -g: 显示page相关统计数据 -i:显示中断的统计数据 -m: 显示memory相关统计数据 -n: 显示network相关统计数据 -p:显示process相关统计数据 -r:显示io请求相关统计数据 -s:交换内存的相关统计数据 --tcp --udp --unix --raw --socket -ipc: 进程间通信 --top-cpu:显示最占用cpu的进程 --top-io:显示最占用io的进程 --top-mem:显示最占用内存的进程 --top-lantency:显示延迟最大的进程
十一、kill - 终止进程
kill -l 或 man 7 signal 常用信号: 1) SIGHUP: 无须关闭进程而让其重读配置文件 2) SIGINT:中止正在运行的进程,相当于Ctrl+c 9) SIGKILL: 杀死正在运行的进程 15) SIGTERM:终止正在运行的进程 18) SIGCONT:发信号让进程继续运行 19) SIGSTOP:发信号让进程停止态 向进程发信号: kill [ -SIGNAL ] PID...
终止“名称”之下所有的进程: killall [ -SIGNAL ] Program
十二、linux作业控制
前台作业:通过终端启动,且启动后一直占据终端
后台作业:通过终端启动,但启动后即转入后台(释放终端)
让作业运行于后台:
1.运行中的作业: Ctrl+z
2.尚未启动的作业: COMMAND & //这种方式虽然被送往后台,但依然会与终端相关
# nohup COMMAND & //送往后台后与终端无关
查看所有作业:# jobs
作业控制:
#fg [[%]JOB_NUM]:把指定的后台作业调回前台 #bg [[%]JOB_NUM]:让送往后台的作业在后台继续运行 #kill [[%]JOB_NUM]: 终止指定的作业
十三、进程优先级
静态优先级: 100-139
进程默认启动的nice值为0,优先级为120
nice命令:
nice [OPTIONS] [COMMAND [ARG]...] -n # : //如果不指定n的值则默认为10,也就是优先级130
renice命令:
renice [-n] priority pid... //对已经运行的进程设置nice值
查看进程nice值:
ps axo pid,comm,ni
未涉及到的其他命令:sar,tsar,iostat,iftop
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 树莓派使用 OLED 屏显示图片及文字 2020-06-05
- 附020.Nginx-ingress部署及使用 2020-06-02
- tmux简单使用 2020-05-30
- 操作系统第六次实验报告——使用信号量解决哲学家进餐问题 2020-05-28
- 公有云技术 2020-05-25
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash