进程管理工具

在我们了解进程以后,我接下来要掌握进程的管理工具如:pstree , ps , pgrep , pidof , top ,htop , glance , pmap , vmstat , dstat , kill , pkill , uptime 等;Linux 系统各进程的相关信息均保存在/proc/PID 目录下的各文件中;



一,pstree



pstree:是以树状的形式来显示进程的关系;

pstree [option]

-p : 连进程编号一块显示出来;

-a : 显示每个程序的完整指令,包含路径,参数或是常驻服务的标示;

二,ps



ps:查看进程的信息和搜索进程;

ps [OPTION]...

支持三种类型选项的格式:

GUN 选项如--help ;

UNIX 选项(以一个“-“开头的选项)如-A -e:

选项:

-e:  显示所有进程

-f:  显示完整格式程序信息

-F:  显示更完整格式的进程信息

-H:  以进程层级格式显示进程相关信息

常用组合:-ef , -eFH

BSD 选项(直接用字母开头的)如a:

默认显示当前终端中的进程

a :显示所有终端中的进程

x :显示不链接终端的进程

u :显示进程所有者的信息

f :显示进程的父进程

l :长格式输出

o :属性…  选项显示定制的信息:

pid 、comm 、%cpu 、%mem 、state 、tty 、euser(执行用户) 、ruser(真正用户)

常用组合:aux,axl

常用组合:自定义:

-eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,comm,等等

axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm,等等

ps查看进程输出内容的解释:

USER 用户名
UID 用户ID(user ID)
PID 进程ID(Process ID)
PPID 父进程的进程ID(Parent Process id)
SID 会话ID(Session id)
%CPU 进程的CPU占用率
%MEM 进程的内存占用率
VSZ Virtual memory SiZe ,虚拟内存集,线性内存(虚拟内存的大小)
RSS ReSident Size,  常驻内存集(实际内存的大小)
TTY 与进程关联的终端
STAT 进程状态
  STAT R :running(运行)
S: interruptable sleeping(睡眠)
D: uninterruptable sleeping(不可中断)
I:空闲
T: stopped(终止)
Z: zombie(僵死)
+:  前台进程
l:  多线程进程
N :低优先级进程
<:  高优先级进程
s: session leader ,会话(子进程)发起者
START 进程启动时间和日期
TIME 进程使用的总CPU时间
COMMAND 正在执行的命令行命令
NI 优先级(Nice)
PRI 进程优先级编号(Priority)
WCHAN 进程正在睡眠的内核函数名;该函数的名称是从/root/system.map文件中获得的
FLAGS 与进程相关的数字标识

三,pgrep


pgrep:按预定义的模式搜索进程;

pgrep [options] pattern

-u uid: effective user ,真正有效者

-U uid: real user ,真正发起运行命令者

-t terminal:  与指定终端相关的进程

-l:  显示进程名

-a:  显示完整格式的进程名

-P pid:  显示指定进程的子进程

四,pidof



pidof:是Linux系统中用来查找正在运行进程的进程号

按确切的程序名称:/sbin/pido

如:pidof bash

五,top



top :动态的显示了系统的状况;

选项:

-d #:  指定刷新时间间隔,默认为3秒

-b:  以批次方式

-n #:  显示多少批次

有许多内置命令:

排序:

P :以占据的CPU 百分比,%CPU

M :占据内存百分比,%MEM

T :累积占据CPU 时长,TIME+

首部信息显示:

uptime 信息:l 命令

tasks 及cpu 信息:t 命令

cpu 分别显示:1 ( 数字)

memory 信息:m 命令

退出命令:q

修改刷新时间间隔:s

终止指定进程:k

保存文件:W(保存在 /root/.toprc)

top命令栏位信息简介:

第一行: 任务队列信息:

13:06:34
当前时间


up 55 min


系统运行时间,格式为时:分


1 user


当前登录用户数


load average: 0.00, 0.01, 0.05


系统负载,即任务队列的平均长度, 三个数值分别为  1分钟、5分钟、15分钟前到现在的平均值;

第二行:进程的信息(Tasks):

Tasks: 363 total
进程总数


2 running


正在运行的进程数


361 sleeping


睡眠的进程数


0 stopped


停止的进程数


0 zombie


僵尸进程数

第三行:CPU的信息 (%CPU(s)):

  0.3 us
用户空间占用CPU百分比


0.7 sy


内核空间占用CPU百分比


0.0 ni


用户进程空间内改变过优先级的进程占用CPU百分比


99.0 id


空闲CPU百分比


0.0 wa


等待输入输出的CPU时间百分比


0.0 hi

硬中断

0.0 si

软中断(模式切换)
0.0 st 虚拟机偷走的时间

第四行:内存信息(KiB Mem):

 1001332 total
物理内存总量


103192 used


使用的物理内存总量


768632 free


空闲内存总量


129508 buff/cache


用作内核缓存的内存量

第五行:交换信息(KiB Swap):


4195320 total


交换区总量


0 used


使用的交换区总量


4195320 free


空闲交换区总量


761356 avail


缓冲的交换区总量。 内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖, 该数值即为这些内容已存在于内存中的交换区的大小。相应的内存再次被换出时可不必再对交换区写入。

六,htop



htop 命令:(top的增强版)需从Fedora-EPEL 源安装:http://10.1.0.1/fedora-epel/7/x86_64/

选项:

-d #:  指定延迟时间;

-u UserName:  仅显示指定用户的进程;

-s COLUME:  以指定字段进行排序;

子命令:

s:  跟踪选定进程的系统调用;

l:  显示选定进程打开的文件列表;

a :将选定的进程绑定至某指定CPU 核心;

t:  显示进程树

七,vmstat



vmstat 命令:虚拟内存信息

vmstat [options] [delay [count]]

vmstat 2 5

procs   r 等待运行的进程的个数,和核心数有关
  b 处于不可中断睡眠态的进程个数( 被阻塞的队列的长度)
memory swpd 交换内存的使用总量
free 空闲物理内存总量
buffer 用于buffer 的内存总量
cache 用于cache 的内存总量
swap si 从磁盘交换进内存的数据速率(kb/s)
so 从内存交换至磁盘的数据速率(kb/s)
io bi 从块设备读入数据到系统的速率(kb/s)
bo 保存数据至块设备的速率
system in interrupts,  中断速率,包括时钟
cs context switch,  进程切换速率
cpu us Time spent running non-kernel code, 用户CPU时间
sy Time spent running kernel code, 系统CPU时间
id Time spent idle, 空闲CPU时间
wa Time spent waiting for IO,等待IO CPU时间
st Time stolen from a virtual machine,虚拟机偷走的时间

选项:

-s:  显示内存的统计数据

八,pmap



pmap 命令 :进程对应的内存映射

pmap [options] pid [...]

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

#pmap 1692

另外一种实现:

# cat /proc/1692/maps

九,glance



glances 命令:系统资源监控, (需从EPEL源中下载)

glances
[-bdehmnrsvyz1] [-B bind] [-c server] [-C conffile] [-p port] [-P
password] [--password] [-t refresh] [-f file] [-o output]

内建命令:

a Sort processes automatically b Bytes or bits for network I/O
c Sort processes by CPU% d
Show/hide disk I/O stats

f
Show/hide file system stats

h
Show/hide this help screen

i
Sort processes by I/O rate

l Show/hide logs
m
Sort processes by MEM%

n
Show/hide network stats

p
Sort processes by name

q
Quit (Esc and Ctrl-C also work)

s
Show/hide sensors stats

t
View network I/O as combination

u
View cumulative network I/O

y
Show/hide hddtemp stats

1
Global CPU or per-CPU stats


mw


Delete warning logs

常用选项:

-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

IPADDR:  指明监听的本机哪个地址

客户端模式:

glances -c IPADDR

IPADDR :要连入的服务器端地址

十,dstat



dstat 命令:系统资源统计

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,pkill



kill 命令:

向进程发送控制信号,以实现对进程管理

显示当前系统可用信号: kill -l

常用信号:man 7 signal

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

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

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

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

18) SIGCONT :继续运行

19) SIGSTOP :后台休眠

指定信号的方法:

(1)  信号的数字标识;1, 2, 9

(2)  信号完整名称;SIGHUP

(3)  信号的简写名称;HUP

按PID :kill [-SIGNAL] pid …

按名称:killall [-SIGNAL] comm…

按模式:pkill [options] pattern

-SIGNAL

-u uid: effective user ,生效者

-U uid: real user ,真正发起运行命令者

-t terminal:  与指定终端相关的进程

-l:  显示进程名

-a:  显示完整格式的进程名

-P pid:  显示父进程为此处指定的进程的进程列表

十二,uptime



uptime:查看当前系统负载情况;

显示内容的信息:

显示当前时间,系统已启动的时间、当前上线人数,系统平均负载(1 、5 、10 分钟的平均负载,一般不会超过1) ;

系统平均负载:

指在特定时间间隔内运行队列中的平均进程数 。

如果每个CPU 内核的当前活动进程数不大于3的话,那么系统的性能良好。如果每个CPU 内核的任务数大于5,那么这台机器的性能有严重问题;

如果linux 主机是1个双核CPU 的话,当Load Average为6 的时候说明机器已经被充分使用了;

时间: 2024-07-28 16:39:23

进程管理工具的相关文章

Linux进程管理工具 Supervisord 的安装 及 入门教程

Supervisor是一个进程管理工具,官方的说法: 用途就是有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断.当进程中断的时候我希望能自动重新启动它,此时,我就需要使用到了Supervisor 主要就两个命令: supervisord : supervisor的服务器端部分,启动 supervisor 就是运行这个命令 supervisorctl:启动 supervisor 的命令行窗口. 安装(CentOS): 方式一: yum -y install python-

supervisor——进程管理工具

Supervisor (http://supervisord.org) 是一个用 Python 写的进程管理工具,可以很方便的用来启动.重启.关闭进程(不仅仅是 Python 进程).除了对单个进程的控制,还可以同时启动.关闭多个进程,比如很不幸的服务器出问题导致所有应用程序都被杀死,此时可以用 supervisor 同时启动所有应用程序而不是一个一个地敲命令启动. 1.安装 Supervisor 可以运行在 Linux.Mac OS X 上.如前所述,supervisor 是 Python 编

常用进程管理工具

进程管理工具 进程管理工具top/htop/glances/dstat/sar top 是一个实时显示当前系统运行信息的一个工具 常用选项 -z: 高亮显示 -r :选定pid,修改nice值(-20至19) -b :定位到正在运行(running状态)的进程 -k :相当kill shift+<或者> :向右左翻页查看不同的进程 -l: 显示或隐藏第一行的登入或者负载信息 -t :task/cpustats 以不同类型显示cpu和进程统计信息,或者将其隐藏 -m :以不同类型显示内存以及sw

进程管理工具 htop/glances/dstat的使用

htop:interactive process viewer(交互式进程查看器) htop:是一款比top功能更强大的进程管理工具,默认系统并未安装,需用户自行选择安装,此处yum仓库具体配置可参见前期博文yum的用法,配好后直接执行如下安装命令: # yum install htop -y htop出现如下界面: 我们可以看到:左上显示CPU.内存.Swap使用情况,右边显示任务.负载.开机时间,下面就是进程状况, 底部功能,F1:帮助 F2:设定 F3:搜索进程 F4:增量进程 F5:以树

pstree,ps,top,htop,vmastp,pmap,glances,dstat进程管理工具介绍

htop,glances,dstat进程管理工具介绍 1.htop 工具 htop常用交互命令 M:以memory排序 P:以cpu占用比排序 T:以cpu占用时长排序 u:过滤仅显示选定用户的进程: s:跟踪选定的进程所发起的系统调用: l:显示指定进程打开的文件 t:显示进程树格式 a:将选定的进程绑定在指定的CPU上 2.glances: glances[-bdehmnrsvyz1] [-B bind] [-c server] [-C conffile] [-p port] [-P pas

Supervisor 进程管理工具

Supervisor  进程管理工具时刻检测进程存活状态:可用来启动.重启.关闭进程: Supervisord(supervisor是一个C/S模型的程序,这是server端,对应的有client端:supervisorctl)和应用程序(即我们要管理的程序). 一.下载: https://pypi.python.org/packages/80/37/964c0d53cbd328796b1aeb7abea4c0f7b0e8c7197ea9b0b9967b7d004def/supervisor-3

Linux进程管理工具——supervisor

介绍 Supervisord是用Python实现的一款非常实用的进程管理工具 安装 这里用源码 supervisor-3.1.3.tar.gz tar -zxvf supervisor-3.1.3.tar.gz cd supervisor-3.1.3 sudo python setup.py install 生成默认配置文件 echo_supervisord_conf > /etc/supervisord.conf 修改默认配置文件 如需访问wenb界面,修改inet_http_server配置

pm2进程管理工具使用总结

对于后台进程的管理,常用的工具是crontab,可用于两种场景:定时任务和常驻脚本.关于常驻脚本,今天介绍一款更好用的工具:pm2,基于nodejs开发的进程管理器,适用于后台常驻脚本管理,同时对node网络应用有自建负载均衡功能.官方的说法,pm2 是一个带有负载均衡功能的Node应用的进程管理器,个人认为,并不准确,因为pm2支持多种语言,只是对于除node之外的其他进程无负载均衡的能力. 一,pm2特点: 说一些pm2有哪些优点好处呢? 支持进程行为配置 ,即可以通过配置,实现pm2管理应

Linux下取代top的进程管理工具 htop

一.htop 简介 This is htop, an interactive process viewer for Linux. It is a text-mode application (for console or X terminals) and requires ncurses. Comparison between htop and top In 'htop' you can scroll the list vertically and horizontally to see all

GO语言的进程管理工具-实践

GO 编写的进程管理工具 Gosuv Gosuv是一个进程管理工具,使用Go语言编写.受python-supervisor启发,学习了很多其中的功能和用法. 一.Gosuv的特点: Web控制台部分做了重点加强,因为使用频率太高了,在网页上现在可以直接添加先的应用,网页查看日志的部分也做了优化,查看起来没有这么费劲了.使用了websocket连接后端,状态一有变化,前台就能立刻看到变化. reload命令不在是重启的命令,而是重新读取配置文件,并应用已经更改的那部分. 日志部分对于带有ansi