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:显示进程的用户名和启动 ...
随机推荐
- 使用ftp读取文件夹中的多个文件,并删除
public class FTPUtils { private static final Logger LOG = LoggerFactory.getLogger(FTPUtils.class); / ...
- JS 存储
1. 描述cookie ,sessionStorage 和 localStorage 的区别? cookie : 本身用于客户端和服务器端通信, 但是有本身存储的功能,就被‘借用’ 使用documen ...
- Web端常见问题总结
1.ES6箭头函数和普通函数的区别(至少3点) (1)箭头函数的this永远指向其上下文的 this,任何方法都改变不了其指向,如call(), bind(), apply(),普通函数的this指向 ...
- 删除PeopleSoft Process Scheduler服务器定义
DELETE FROM PS_SERVERDEFN WHERE SERVERNAME= 'PSNT2' ; DELETE FROM PSSERVERSTAT where SERVERNAME = 'P ...
- Linux shell编程 -test
test 命令的格式非常简单 test condition condition 是test命令要测试的一系列参数和值.当用在if-then 语句中时,test 命令看起来是这样的 if test co ...
- vue学习笔记:在vue项目里面使用引入公共方法
首先新建一个文件夹:commonFunction ,然后在里面建立 一个文件common.js 建立好之后,在main.js里面引入这个公共方法 最后是调用这个公共方法 测试一下,我在公共方法里面写了 ...
- linux操作命令之帮助命令
一.man命令的帮助: man 命令名 获取指定命令的帮助 例如man ls 查看ls的帮助 man man可以看到man有8个级别的man帮助命令使用场景 1.查看命令的帮助 2.查看可被内核调用的 ...
- 动态添加echarts
本次只贴js和jsp代码 jsp只需添加一个div即可, <div class="fLayout-right-box"> <hy:layoutArea width ...
- Java作业五(2017-10-15)
/*3-6.程序员;龚猛*/ 1 package zhenshu; import java.util.Scanner; public class text { public static void m ...
- Mac下安装配置Python2和Python3并相互切换使用
mac os 以前没有使用过,这次使用了一把,的确还是比较不顺手的,估计从今以后,就要把平台逐渐切换到mac了.今后好的文章,专门会开一个macos专栏,专门记录macos的使用过程中的心得,体会,以 ...