linux进程管理和系统状态常用命令简介
1 进程管理简介
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础
2 常用命令
2.1 pstree
2.1.1 功能描述
树形结构展示进程树
2.1.2 命令的安装
首先确保你安装了psmisc.
[root@localhost ~]# yum install psmisc -y
2.1.3 命令使用语法
pstree [-a, --arguments] [-c, --compact] [-h, --highlight-all, -Hpid, --highlight-pid pid]
[-g] --show-pgids] [-l, --long] [-n, --numeric-sort] [-N, --ns-sortns [-p, --show-pids]
[-s, --show-parents] [-S, --ns-changes] [-u, --uid-changes] [-Z, --security-context]
[-A, --ascii, -G, --vt100, -U, --unicode] [pid, user]
pstree -V, --version
2.1.4 主要参数简介
选项:
-h:高亮显示当前的进程及其祖先
-H:高亮显示指定进程及其祖先
-p:显示进程的pid
-s:显示特定进程的直系进程
-u:指定用户
2.1.5 命令的使用样例
查看指定用户的进程信息带进程号
[root@localhost ~]# pstree -pu zhaojiedi1992
bash()─┬─vim()
└─vim()
查看当前进程的直系进程
[root@localhost ~]# pstree -ps $$ # $$就是当前进程号。
systemd()───sshd()───sshd()───bash()───pstree()
2.2 ps
2.2.1 功能描述
显示进程信息
2.2.2 命令使用语法
语法 ps [options]
这个命令比较特殊,支持了三种风格的命令使用
- Unix选项:使用1个-
- BSD选项:选项不使用-
- GNU长选项:选项使用2个-
我个人是对这个命令是习惯BSD风格的,也就是习惯使用ps aux 而不是ps -ef。 这个命令经常配合grep使用。
2.2.3 主要参数和栏位信息简介
参数:
a:列出终端相关的,如果想列出所有进程需要配合x
u:显示面向用户的格式
x:列出终端先关的,如果列出所有进程需要配合a
f :显示进程树,这个显示效果跟pstree的效果差远啦
k :根据指定指标去排序
--sort: 根据指定指标去排序,%cpu以cpu占用排序,-%cpu反序排
o :设置显示的列
L :显示支持的属性列表
-C :指定命令,多个命令用,分割
-L :显示线程
-u : 指定有效用户ID或名称
-U : 指定真正的用户ID或名称
-p : 显示指定pid进程
--pid :显示属于pid的子进程
--forest:树型显示
列:
USER :用户
PID:进程id
%CPU:cpu占用率
%MEM:内存占用率
VSZ:虚拟内存大小
RSS:真实内存大小
TTY:终端
STAT:状态
START:开始时间
TIME:占用cpu时间
COMMAND:命令
PRI:优先级
RTPRIO:实时优先级
PSR:当前进程对应的处理器
NI:进程的nice值
进程状态:
D:不可终端睡眠
R:运行或者在运行队列中
S:终端睡眠(等待一个时间完成)
T:被作业控制信号停止
t:被调试追踪停止
W:内存换页中
X:死亡了
Z:蜘蛛进程
<:高优先级的
N:第优先级的
L:有页面锁定在内存
s:是一个会话的领导者
l:是一个多线程
+:是一个前台进程
2.2.4 命令的使用样例
查看所有进程信息
[root@localhost ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 0.0 0.1 ? Ss : : /usr/lib/systemd/systemd --switched-roo
-------------------------------------下面的行省去了--------------------------------------------------------
查看所有进程的命令,进程id,cpu占用,内存占用信息 ,并按照cpu占用排序
[root@localhost ~]# ps axo cmd,pid,%cpu,%mem k %cpu
查看指定终端的进程
[root@localhost ~]# ps -t pts/
有效用户和真正用户的区别
[zhaojiedi1992@localhost ~]$ passwd # 在另一个终端上执行, 别修改,就让这个命令卡在这个界面
Changing password for user zhaojiedi1992.
Changing password for zhaojiedi1992.
(current) UNIX password: [root@localhost ~]# ps -u zhaojiedi1992 # 查看有效用户为zhaojiedi1992的进程
PID TTY TIME CMD
pts/ :: bash
pts/ :: vim
pts/ :: vim
[root@localhost ~]# ps -U zhaojiedi1992 # 查看真正用户为zhaojiedi1992的进程
PID TTY TIME CMD
pts/ :: bash
pts/ :: vim
pts/ :: vim
15749 pts/3 00:00:00 passwd
我们可以看出来,用户zhaojiedi1992使用了passwd这个命令,这个命令有suig的,运行的时候是以root运行的,所以在有效用户上查看没有passwd的,但是使用真正用户可以看到的
2.3 renice,nice,chrt
2.3.1 功能描述
- renice:调整优先级
- nice:指定优先级
- chrt:改变实时优先级
2.3.2 命令使用样例
[root@localhost ~]$ renice -n # 修改指定的进程的nice值
[root@localhost ~]$ nice -n - ping www.baidu.com # 在运行命令的时候就指定nice值
[zhaojiedi1992@localhost ~]$ chrt -p $$ # 调整实时优先级, 这个实时优先级不是想怎么该就怎么该的
chrt: unsupported priority value for the policy: : see --max for valid range
[zhaojiedi1992@localhost ~]$ chrt --max # 查看可以调整的范围
SCHED_OTHER min/max priority : /
SCHED_FIFO min/max priority : /
SCHED_RR min/max priority : /
SCHED_BATCH min/max priority : /
SCHED_IDLE min/max priority : /
SCHED_DEADLINE min/max priority : /
2.4 pgrep,pkill
2.4.1 功能描述
- pgrep:查找进程
- pkill:发送信号给进程,多数使用9信号
2.4.3 命令使用语法
pgrep [options] pattern
pkill [options] pattern
2.4.4 主要参数简介
选项
-u:生效者
-U:真正发起者
-t:指定终端
-l:显示进程名(pgrep可用)
-a:显示完整格式的进程名(pgrep可用)
-P:显示指定进程的子进程
2.4.5 命令使用样例
查看/dev/pts/3终端下的完整进程名,并全部杀掉他们
[root@localhost ~]# pgrep -t pts/ -a # 查看pts/4终端的完整进程信息
-bash
su - zhaojiedi1992
-bash
vim a.txt
[root@localhost ~]# pkill -t pts/4 # 杀掉pts/4终端的进程
2.5 pidof
2.5.1 功能描述
查找运行进程的pid
2.5.2命令使用样例
[root@localhost ~]# pidof bash
2.6 uptime
2.6.1 功能描述
获取系统运行时间和基础的负载信息
2.6.2命令使用样例
[root@localhost ~]# uptime
:: up :, users, load average: 0.00, 0.01, 0.05
2.6 top
2.6.1 功能描述
动态显示进程状态信息,ps是一个静态的
2.6.4 栏位信息简介
cpu相关:
us:用户空间运行时间(user space)
sy:内核空间运行时间(system )
ni:nice过的进程运行时间(nice)
id:空闲进程时间(idle)
wa:等待io时间(wait)
hi:硬中断(hardware interrupts)
si:软中断(software interrupts)
st:虚拟机偷走的时间(stolen time) 内存相关:
total:总内存
free:空闲内存
used:使用内存
buff/cache:buffer/cache内存
排序:
P:按照cpu占比排序
M:按照内存占比排序
T:按照占据cpu时间排序 首部信息显示:
l:uptime信息
t:tasks及其cpu信息
cpu分别显示:(数字)
m:内存信息显示 命令:
s:修改刷新间隔
k:终止指定进程
w:保存当前设置到~/.toprc文件,下次使用top采用这个设置
q:退出
2.6.5 命令使用样例
[root@localhost ~]# top
top - :: up :, users, load average: 0.00, 0.01, 0.05
Tasks: total, running, sleeping, stopped, zombie
%Cpu(s): 0.1 us, 0.0 sy, 0.0 ni, 99.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : total, free, used, buff/cache
KiB Swap: total, free, used. avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
root S 0.3 0.2 :02.42 vmtoolsd
root R 0.3 0.1 :00.13 top
root S 0.0 0.2 :08.91 systemd
root S 0.0 0.0 :00.07 kthreadd
root S 0.0 0.0 :00.02 ksoftirqd/
2.7 htop
2.7.1 功能描述
是一个加强版本的top命令,比较炫。
2.7.2 命令的安装
[root@localhost ~]# yum install htop -y # 安装htop,这个软件是在epel源中的。
2.7.4 主要参数简介
选项:
-d:指定延迟
-u:仅显示指定用户的进程
-s:以指定字段进行排序 子命令:
s:根据指定进程的系统调用
l:显示选定进程打开的文件列表
a:将选定的进程绑定到指定的cpu上
t:显示进程树 功能键:
F1:帮助
F2:设置
F3:查找
F4:过滤
F5:树显示
F6:排序
F7:减小nice
F8:增加nice
F9:kill进程
F10:退出,q也可以退出的
2.7.5 命令使用样例
[root@localhost yum.repos.d]# htop
效果图如下:
2.8 vmstat
2.8.1 功能描述
查看虚拟内存信息
2.8.2 命令使用语法
vmstat [options] [delay [count]]
delay:延迟
count:显示次数
2.8.4 主要栏位信息简介
Procs:
r:正在运行中或等待运行的进程数量
b: 不可终端睡眠的进程数量 Memory:
swpd: 交互内存的使用量
free: 空闲物理内存总量
buff: 用于buffer的内存总量
cache: 用于cache的内存总量
inact:非活动内存(配合-a)
active: 活动内存(配合-a)
Swap:
si: 从磁盘交互进内存的速率(kb/s)
so: 从内存进入磁盘交互的速率(kb/s) IO:
bi: 读取磁盘到系统的速率(kb/s)
bo: 系统写到磁盘的速率(kb/s) System:
in: 终端速率
cs: 上下文切换速率 CPU:
us:用户空间运行时间(user space)
sy:内核空间运行时间(system )
id:空闲进程时间(idle)
wa:等待io时间(wait)
st:虚拟机偷走的时间(stolen time)
2.8.5 命令使用样例
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
2.9 iostat
2.9.1 功能描述
查看io的信息
2.9.2 命令的安装
[root@localhost cd]# yum install systat
2.9.3 命令使用语法
iostat [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ] [ -j { ID | LABEL | PATH | UUID | ... } ] [ [ -T ] -g group_name
] [ -p [ device [,...] | ALL ] ] [ device [...] | ALL ] [ interval [ count ] ] interval:时间间隔
count:显示次数
2.9.4 主要参数和栏位信息简介
选项:
-h:人类易读的格式显示单位
-p:显示分区的,而不仅仅是磁盘的
-x:扩展信息 cpu相关:
%user:用户级别的应用程序的cpu占比
%nice:调整过nice的应用程序的cpu占比
%system:系统级别的cpu占比
%iowait:io等待的cpu占比
%steal:别虚拟机偷取的cpu占比
%idle:空闲的(没有io请求的)cpu占比 设备相关:
tps:每秒的事务量
Blk_read/s:每秒的块读取速度
Blk_wrtn/s:每秒的块写入速度
Blk_read:读取的块大小合计
Blk_wrtn:写入的块大小合计
2.9.5 命令使用样例
[root@localhost cd]# iostat -x -d -p
Linux 3.10.-.el7.x86_64 (localhost) // _x86_64_ ( CPU) Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 0.08 1.43 0.69 40.74 90.25 123.20 0.09 40.74 15.97 92.11 9.01 1.92
sda1 0.00 0.00 0.39 0.00 1.20 0.43 8.41 0.00 1.01 0.93 37.50 0.93 0.04
sda2 0.00 0.08 1.04 0.69 39.32 89.82 149.09 0.09 49.76 21.61 92.17 10.94 1.90
scd0 0.00 0.00 0.18 0.00 4.08 0.00 45.70 0.00 5.78 5.78 0.00 3.42 0.06
dm- 0.00 0.00 0.99 0.77 38.32 89.38 145.46 0.09 51.25 22.66 88.21 10.77 1.89
dm- 0.00 0.00 0.02 0.00 0.47 0.00 47.40 0.00 4.49 4.49 0.00 2.98 0.01
dm- 0.00 0.00 0.02 0.00 0.24 0.43 76.64 0.00 1.58 0.84 16.25 1.08 0.00
2.10 pmap
2.10.1 功能描述
报告指定进程的内存映射
2.10.2 命令使用语法
pmap [options] pid [...]
2.10.3 命令使用样例
[root@localhost cd]# pmap
: vim a.txt
2112K r-x-- vim
000000000080f000 4K r---- vim
00007f7199024000 2044K ----- libutil-2.17.so
00007f7199223000 4K r---- libutil-2.17.so
----------------------------中间信息跳过不显示了------------------------------------
total 148884K
2.11 glance
2.11.1 功能描述
一个跨平台的系统监控工具
2.11.2 命令的安装
[root@localhost cd]# yum install glances -y # 在epel yum 源
2.11.3 命令使用语法
glances [OPTIONS]
2.11.4 主要参数简介
选项:
-c:作为客户端
-s:作为服务端
-B指定绑定ip,默认是绑定所有ip
-p:指定端口,默认是61209
2.11.5 命令使用样例
在一台机器上
[root@localhost cd]# glances -s & #后台运行
[1] 2290
Glances server is running on 0.0.0.0:
在另外一个机器上
[root@localhost ~]# glances -c 192.168.1.101
效果图如下
2.12 dstat
2.12.1 功能描述
系统资源统计,用于代替vmstat,iostat的
2.12.2 命令的安装
[root@localhost ~]# yum install dstat -y
2.12.3 命令使用语法
dstat [-afv] [options..] [delay [count]] delay :延迟
count: 次数
2.12.4 主要参数简介
选项:
-c:显示cpu相关信息
-d:显示磁盘相关信息
-m:显示内存相关信息
-n:显示网络相关信息
-p:显示进程相关信息
-r:显示io请求相关信息
-s:显示swaped相关信息
--top-cpu:显示最占用cpu的进程
--top-mem:显示最占用内存的进程
2.12.5 命令使用样例
[root@localhost ~]# dstat -v
---procs--- ------memory-usage----- ---paging-- -dsk/total- ---system-- ----total-cpu-usage----
run blk new| used buff cach free| in out | read writ| int csw |usr sys idl wai hiq siq
0.4| 278M 3468k 420M 3234M| | 33k 69k| |
| 278M 3468k 420M 3234M| | | |
| 278M 3468k 420M 3234M| | | |
2.13 iotop
2.13.1 功能描述
类似top命令的io监控
2.13.2 命令的安装
[root@localhost ~]# yum install iotop -y
2.14 kill
2.14.1 功能描述
给指定进程发信号,大多数用于关闭进程
2.14.3 命令使用语法
kill [-s signal|-p] [-q sigval] [-a] [--] pid...
kill -l [signal]
2.14.4 主要参数简介
常用信号:
)用于测试进程是否存在
)SIGHUP:无需关闭进程让其重读配置文件
)SIGINT:中止正在运行的进程,相当于ctrl+c
) SIGQUIT:退出,相当于ctrl+\
) SIGKILL:强制杀死正在运行的进程
)SIGTERM:终止正在运行的进程
)SIGCONT:继续运行
)SIGSTOP:后台睡眠 指定信号方式:
数字方式,如1
信号完整名字,如SIGHUP
信号简写,如HUP
2.14.5 命令使用样例
查看进程是否存在
[root@localhost ~]# pidof vim # 查看指定进程的pid [root@localhost ~]# kill - 2245 # 发送0信号
[root@localhost ~]# echo $? # 如果结果为0代表进程存在,否则不存在
杀掉进程
[root@localhost ~]# kill -
杀掉所有httpd进程
[root@localhost ~]# killall httpd
linux进程管理和系统状态常用命令简介的更多相关文章
- linux进程管理和系统状态查看命令简介
1 进程管理简介 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础 2 常用命令 2.1 pstree 2.1.1 功能描 ...
- Linux 进程管理、系统状态查询
1.内存给进程一段空间让他启动,让内核通过cpu来管理它. 2.ps命令查看命令信息. 用户.pid号.使用cpu.使用内存.虚拟内存.真实内存.控制台.状态.启动时间.运行时间.名 USER PID ...
- Linux分享笔记:系统状态检测命令小结
作为一名合格的运维人员,要能很好地了解Linux服务器,要能熟练查看Linux系统的运行状态.以下是常用到的Linux系统状态检测命令. 1. ifconfig:用于获取网卡配置与网络状态等信息.通常 ...
- Linux进程管理工具Supervisor的安装配置
目录 Linux进程管理工具Supervisor的安装配置 简介 安装Python包管理工具 安装Supervisor 配置 配置文件参数说明 配置进程管理 启动supervisor 控制进程 交互终 ...
- 【linux之进程管理,系统监控】
一.进程管理 前台进程:一般是指占据着标准输入和/或标准输出的进程后台进程:不占据默认开启的进程都是前台进程ctrl+C 中断ctrl+z 从前台转入后台bg 后台进程编号 让其在后台运行ls -R ...
- 12个Linux进程管理命令介绍(转)
12个Linux进程管理命令介绍 [日期:2015-06-02] 来源:Linux中国 作者:Linux [字体:大 中 小] 执行中的程序在称作进程.当程序以可执行文件存放在存储中,并且运行的 ...
- [转帖]十二 个经典 Linux 进程管理命令介绍
https://www.cnblogs.com/swordxia/p/4550825.html 接了 http referer 头 没法显示图片 可以去原始blog 里面去查看. 随笔- 109 ...
- Linux 系统巡检常用命令
Linux系统巡检常用命令 # uname -a # 查看内核/操作系统# cat /etc/centos-release # 查看centos操作系统版本# cat /proc/cpuinfo ...
- 熟练使用Linux进程管理类命令
进程管理类命令 – ps命令 ps命令主要用于查看系统的进程 该命令的语法为:ps [参数] ps命令的常用参数选项有: -a:显示当前控制终端的进程(包含其他用户的). -u:显示进程的用户名和启动 ...
随机推荐
- pytroch nn.Module源码解析(1)
今天在写一个分类网络时,要使用nn.Sequential中的一个模块,因为nn.Sequential中模块都没有名字,我一时竟无从下笔.于是决定写这篇博客梳理pytorch的nn.Module类,看完 ...
- 2.Git配置和关联GitHub
1.配置本地信息, 右键Git Bush Here git config –global user.name '账号名' ##回车 git config –global user.email 邮箱 # ...
- 微信小程序----没有 DOM 对象,一切基于组件化 ---- mpvue
封装好用的 类库 和 组件,复用且灵活度高 抽取相同的部分放在函数内部(组件内部) 抽取不同的部分放在形参(组件 props 传参,或者插槽) new Promise 运行时 初始化实例对象的状态为 ...
- Linux Rabbit的使用
安装RabbitMQ 1.安装Erlang yum -y install epel-release yum -y update yum -y install erlang socat yum -y i ...
- centOS7上编译hadoop-2.7.7
一.阅读编译文档 在hadoop源码包根目录下有个一个BUINDING.txt的文件,文件说明了编译hadoop所需要的一些编译hadoop所需要的一些编译环境相关的东西.不同hadoop版本的要求都 ...
- elasticsearch 占CPU过高
一.线上有一台服务器cpu一直跑满,最终定位导是elasticsearch导致的 二.通过一波查找更改jvm和删除 修改后没有生效笔记尴尬 然后网友说删除索引试了试就可以了 哈哈 curl http ...
- Where is the Marble? (寻找大理石上的数字)
(先上题目) (题目描述)Raju and Meena love to play with Marbles. They have got a lot of marbles with numbers w ...
- 电子科技大学第九届ACM趣味程序设计竞赛(热身赛)题解
比赛地址:http://acm.uestc.edu.cn/#/contest/show/191 A题 小羽涂色 题意: 在x轴的正半轴上,问你是否存在一段区间[L,R]其中包含r个奇数和g个偶数. 分 ...
- Android OpenGL ES 开发(五): OpenGL ES 使用投影和相机视图
OpenGL ES环境允许你以更接近于你眼睛看到的物理对象的方式来显示你绘制的对象.物理查看的模拟是通过对你所绘制的对象的坐标进行数学变换完成的: Projection - 这个变换是基于他们所显示的 ...
- CS20SI-tensorflow for research笔记: Lecture2
本文整理自知乎专栏深度炼丹,转载请征求原作者同意. 本文的全部代码都在原作者GitHub仓库github CS20SI是Stanford大学开设的基于Tensorflow的深度学习研究课程. Tens ...