分享交流
合作共赢!

Linux深入学习【十三】——进程管理工具

vmstat命令:

vmstat [options] [delay [count]]

  • procs: r表示等待运行的队列的个数或说长度,b表示处于不可中断睡眠态的进程个数(阻塞队列长度)
  • memory: swpd表示交换内存的使用总量,free表示物理内存的空闲总量,buffer表示用户buffer的内存总量,cache表示用于cache的内存总量
  • swap: si表示数据进入swap中的数据速率, so表示数据离开swap的数据速率(kb/s)
  • io: bi表示从块设备读入到系统的速率,bo表示保存数据至块设备的速率(kb/s)
  • system: in表示interrupts,中断速率, cs表示context switch表示进程切换速率
  • cpu: us表示用户空间占用比率,sy表示内核空间占用的比率,id表示空闲占用的比率,wa表示等待的io完成所用的时间比率,st表示被偷走的时间比率

选项:

  • -s: 显示内存统计数据,和cat /proc/meminfo相似

pmap命令: pmap – report memory map of a process

pmap [options] pid […]

-x: 显示详细格式的信息;

# cat /proc/PID/maps:此文件也可以查看内存映射表的详细信息

glances命令:glances – A cross-platform curses-based system monitoring tool

常用选项:

  • -b: 以Byte为单位显示网卡速率;
  • -d: 关闭磁盘I/O模块;
  • -f /path/to/somefile: 设定输出文件位置及其格式;
  • -o {HTML | CSV}: 输出格式;
  • -m: 禁用mount模块;
  • -n: 禁用网络模块;
  • -t #: 指定延迟时间间隔;
  • -1: 每个CPU的相关数据单独显示;

C/S模式下运行glances命令:

服务模式:

glances -s -B IPADDR(指明监听于本机的哪个地址)

客户端模式:

glances -c IPADDR (要连入的服务器端地址)

dstat命令:dstat – versatile tool for generating system resource statistics(功能非常强大)

dstat [-afv] [options..] [delay [count]]

  • -a: 默认显示-cdngy信息;
  • -c: 显示cpu相关信息;
  • -C #,#,… total: CPU
  • -d: 显示disk相关信息;
  • -D total,sda,sdb,…: 磁盘信息
  • -g: 显示page(页面)相关统计信息
  • -i: 显示中断的信息
  • -l: 显示load负载信息
  • -m: 只显示内粗相关信息
  • -p: 显示process进程相关信息(运行态、堵塞、新建进程)
  • -r: 显示io请求相关的统计数据
  • -s: 显示swap交换内存的相关数据
  • –tcp: 显示tcp协议相关信息
  • –udp: 显示tdp协议相关信息
  • –socket: 显示套接字相关信息
  • –raw: 显示裸套接字信息
  • –ipc: 显示进程间通信的相关信息
  • –top-cpu: 查看最消耗cpu的进程
  • –top-mem: 查看最占用内存的进程
  • –top-io:查看最占IO的信息
  • –top-lantency: 显示延迟最大的进程信息

kill命令:向进程发送控制信号,以实现对进程的管理

一、显示当前系统的可用信号:

  • # kill -l
  • # man 7 signal

2.常用信号:

1)SIGHUP: 无须关闭进程而让其重读配置文件

2)SIGINT: 中止正在运行的进程,相当于Ctrl+C

9)  SIGKILL: 杀死正在运行的进程,强行杀死

15) SIGTERM: 终止正在运行的进程,优雅终止

18) SIGCONT: 让处于停止态的进程重新运行

19) SIGSTOP: 让进程处于停止状态

3. 指定信号的方法:

  • 信号的数字标识:1,2,9
  • 信号的完整名称:SIGHUP
  • 信号的简写名称: HUP

二、向进程发信号:

kill [-SIGNAL] PID …

三、终止某“名称”之下的所有进程:

killall [-SIGNAL] Program

Jobs命令:Linux的作业控制命令

前台作业:通过终端启动且启动后一直占据终端的作业

后台作业:可以通过终端启动,但启动后即转入后台运行(释放终端),

如何让作业运行到后台?

  • 对于运行中的作业:Ctrl+z
  • 尚未启动的作业:# COMMAND &

运行的后台的此类作业虽然被送往后台运行,但其依然与终端相关,如执行logout后此作业会停止。若希望送往后台后剥离与终端的关系:# nohup COMMAND &

查看所有作业状态命令:# jobs

作业控制命令:

  • # fg [[%]JOB_NUM]: 把指定的后台作业调回前台;
  • # bg [[%]JOB_NUM]: 让送往后台的作业在后台继续运行;
  • # kill [%JOB_NUM]: 终止指定的作业;

进程优先级调整:

动态优先级:由内核自动调整优先级

静态优先级: 100~139,可手动调整优先级,调整命令:nice、renice

nice值-20~19,对应的优先级为100~139,

进程默认启动的nice值为0,即默认优先级为120;

nice命令:

nice [OPTION] [COMMAND [ARG]…]

renice命令:

renice [-n] priority pid…

查看优先级:

# ps axo pid,comm,ni

其他进程相关命令如: sar, tsar, iostat, iftop等

赞(0) 打赏
未经允许不得转载:琼杰笔记 » Linux深入学习【十三】——进程管理工具

评论 抢沙发

评论前必须登录!

 

分享交流,合作共赢!

联系我们加入QQ群

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏