进程
查看进程ps
ps [options]
支持的命令格式
- unix格式:-h -e
- BSD格式:a,x,u
- GUN长格式:–help
选项
[root@localhost /]# ps
PID TTY TIME CMD
16509 pts/1 00:00:00 bash
64886 pts/1 00:00:00 ps
pid 终端 当前命令专用cpu的时间 命令
a 所有的终端
x 包括不连终端的终端
u 显示进程详细信息
f 显示进程树
k 指定排序方式,默认递增,如果递减,则需要在排序字段上加-
o 指定显示的属性,不能跟u同时使用
L 获取支持的选项
-L 显示线程
-e 想当于ax
-f 显示详细信息,相当于u
-F 显示更详细信息
-H 显示树状结构
-U username 获取指定的用户信息
常用选项:aux -ef -eFH
ps输出属性
VSZ 虚拟内存
RSS 实际内存
psr cpu编号
STAT 状态
%cpu cpu的占用率
%mem 内存的占用率
根据名称来查询进程
pidof name
[root@localhost /]# pidof python
1179 812
系统工具
uptime
[root@localhost /]# uptime
17:58:39 up 1:48, 3 users, load average: 0.00, 0.02, 0.08
当前时间 当前服务器运行时长 当前的在线用户数 cpu的负载 1分钟 5分钟 15分钟
cpu平均负载:在特定时间之内cpu运行的平均进程数,不超过cpu核心数的2倍认为良好
top
首部信息
- uptime信息 l 显示与隐藏
- tasks:进程总数、运行、睡眠数、停止数、僵尸进程t
- cpu信息:%Cpu(s): 0.0 us, 0.1 sy, 0.0 ni, 99.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
- cpu信息:用户空间、系统空间、nice值、空闲、等待、硬中断、软中断、虚拟机偷走的时间
- 内存信息m
- cpu分别显示1
排序:
模式是cpu的占用率P
M:内存占用率
T:cpu的占用时间
退出:q
修改刷新频率:s
杀死进程:k,默认是第一个
W 保存文件
htop
- epel源 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
- yum install -y htop
性能分析
free
-b 字节
-k kb
-m mb
-g gb
-h 人类易读方式
-c # 刷新次数
vmstat
[root@localhost ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 264 89792 204 908048 0 0 255 13 81 70 1 1 97 0 0
r:正在运行的进程个数
b:阻塞队列的长度
memory:
swap:虚拟内存大小
free:空闲物理内存大小
buff:用于buff的大小
cache:用于cache的大小
si:从磁盘交换到内存的数据速率(kb/s)
so:从内存交换到磁盘的数据速率(kb/s)
io:
bi:从磁盘读取到系统的速率(kb/s)
bo:从系统写入到磁盘的速率(kb/s)
sysytem:
in:中断频率
cs:进程之间切换的频率
cpu:
us
sy
id
wa
st
iostat
查看磁盘读写速度
dstat
-c cpu
-d 硬盘
-m 内存
-n 网络
-p 进程
-r io请求
-s swap
--top-cpu 显示占用cpu最多的进程
--top-io 显示占用io最多的进程
--top-mem 显示占用内存最多的进程
--tcp 显示tcp的信息
--udp 显示udp的信息
iftop 显示网卡的流量
进程的管理工具
kill 向进程发送信号,实现对进程的管理,每个信号,对应不同的值,对应不同的含义
查询可用信号:kill -l
常用信号:
- 1)sighub 不需要关闭程序,重新加载配置文件
- 2)sigint 终止进程,相当于ctrl+c
- 9)sigkill 强制杀死进程
- 15)sigterm 终止正在运行的进程
- 18)sigcont 继续运行
- 19)sigstop 后台休眠
按照pid pid -n pid - 按照名称:killall -n name
- 按照名称:pkill -n name
作业管理
- 前台作业:一直占用终端的作业
- 后台作业:不占用当前的终端
让作业运行与后台: - ctrl+z 对于启动中
- command & 也会输出到终端
脱离终端: - nohup command &>/dev/null &
- screen
- list 查看所有的screen窗口
- r 进入