进程管理:
pstree 作用是以进程树的形式显示进程
例如:
pstree 8123 显示进程名不显示各个进程号
pstree -p 8123 显示进程名称及各级进程的进程号
ps 作用是显示当前所有运行进程的详细信息
例如:
ps aux 显示所有包含其他使用者的行程
ps -aux
选项:
a :显示包括所有终端中的进程
x :选项包括不链接终端的进程
u :选项显示进程所有者的信息
f :选项显示进程树,相当于--forest
k|--sort:对属性排序,属性前面加-表示倒序
o :属性..选项显示定制的信息pid、cmd、%cup、%mem
L :显示支持的属性列表
、、、、、
输出属性介绍:
VSZ:虚拟内存集,线性内存
RSS:常驻内存集
STAT:进程状态
R:running
S: interruptable sleeping
D: uninterruptable sleeping
T: stopped
Z: zombie
+: 前台进程
l: 多线程进程
L:内存分页并带锁
N:低优先级进程
<: 高优先级进程
s: session leader,会话(子进程)发起者
ni: nice值
pri: priority 优先级
psr: processor CPU编号
rtprio: 实时优先级
实例:
(1)查询自己拥有的所有进程
ps -x
(2)显示指定用户名或者用户ID的进程
ps -fU apache
ps -fU 48
(3)显示指定服务名,正在被那个终端使用
ps -C bash
(4)查看进程的PID,PPID,用户名和命令
ps -eo pid,ppid,user,cmd
(5)查找占用最多内存和CPU的进程
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head
uptme显示当前时间,系统已启动的时间、当前上线人数、系统平均负载(1、5、10 分钟的平均负载,一般不会超过1)
top命令:
P:以占据的CPU百分比,%CPU
M:占据内存百分比,%MEM
T:累积占据CPU时长,TIME+
首部信息显示:
uptime信息:l命令
tasks及cpu信息:t命令
cpu分别显示:1 (数字)
memory信息:m命令
退出命令:q
修改刷新时间间隔:s
终止指定进程:k
保存文件:W
%CPU:us:用户空间
sy:内核空间
ni:调整nice时间
id:空闲
wa:等待IO时间
hi:硬中断
si:软中断
st:虚拟机偷走的时间
列属性解释:
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量
RES — 进程使用的、未被换出的物理内存大小
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)
free命令:查看内存使用情况
free -h 已读格式
vmstat 命令:显示虚拟内存信息
vmstat 2 5 每2秒刷新一次,共5次
命令显示列解释:
procs列:
r:可运行(正运行或等待运行)进程的个数,和核心数有关
b:处于不可中断睡眠态的进程个数(被阻塞的队列的长度)
memory:
swpd: 交换内存的使用总量
free:空闲物理内存总量
buffer:用于buffer的内存总量
cache:用于cache的内存总量
swap:
si:从磁盘交换进内存的数据速率(kb/s)
so:从内存交换至磁盘的数据速率(kb/s)
io列
bi:表示由块设备读入数据的总量,即读磁盘,单位kb/s
bo:表示写到块设备数据的总量,即写磁盘,单位kb/s
system:
in: interrupts 中断速率,包括时钟
cs: context switch 进程切换速率
iostat命令:统计CPU和磁盘设备的IO信息
iostat 1 5 每一秒更新一次、共5次
iftop 命令:显示宽带使用情况,需要自主安装(epel源)
可通过此命令查看当前是否有人在通过网络攻击本主机
pmap命令:进程对应的内存映射
pmap 1 :跟进程号加 -x 更加详细
dstat 工具:监视CPU、内存、swap、磁盘使用率
iotop命令: 用来监视磁盘I/O使用状况 (显示更加详细 相对于 iostat)
第一行:Read和Write速率总计
第二行:实际的Read和Write速率
第三行:线程ID(按p切换为进程ID)、 优先级、 用户、
磁盘读速率 、磁盘写速率、 swap交换百分比 、
IO等待所占的百分比、 线程/进程命令
lsof命令:查看当前系统文件的工具
-a:列出打开文件存在的进程
-c<进程名>:列出指定进程所打开的文件
-g:列出GID号进程详情
-d<文件号>:列出占用该文件号的进程
+d<目录>:列出目录下被打开的文件
+D<目录>:递归列出目录下被打开的文件
例:
lsof -c bash 列出指定程序正在使用的文件
lsof /dev/pts1 查看登录用户启动而非系统启动的进程
lsof -p 9999(pid) 查看指定进程号的进程打开的文件
lsof -u user 查看指定用户打开的文件
kill命令:
常用信号:man 7 signal 或者 kill -l
1)SIGHUP 无须关闭进程而让其重读配置文件
2)SIGINT 中止正在运行的进程;相当于Ctrl+c
3)SIGQUIT 相当于Ctrl+\
9) SIGKILL 强制杀死正在运行的进程
15)SIGTERM 终止正在运行的进程
18)SIGCONT 继续运行
19)SIGSTOP 后台休眠
kill -s SIGNAL pid 发送指定信号到pid
killall命令: 按服务名称发送信息
killall [-SIGNAL] 服务名
pkill命令:
-SIGNAL
-u uid: effective user,生效者
-U uid: real user,真正发起运行命令者
-t terminal: 与指定终端相关的进程
-l: 显示进程名(pgrep可用)
-a: 显示完整格式的进程名(pgrep可用)