ps -le 静态查看系统下有多少进程

top 动态监控

输入top后
输入k,会提示让输入进程号,表示要删除哪个进程

在top命令的交互模式当中可以执行的命令:
?或h:显示交互模式的帮助
P:以CPU使用率排序,默认就是此项
M:以内存的使用率排序
N:以PID排序
T:按照CPU的累积运算时间排序,也就是用TIME+项排序
k:按照PID号,输入某个进程-一个信号。表示要删除哪个进程,信号9
是强制终止的信号
r:按照PID号,给某个进程重设优先级(Nice) 值
q:退出top

top命令
输入 top -d 10 ,表示10秒刷新一次数据,默认是每3秒刷新一次数据
-d秒数:指定top命令每隔几秒更新。默认是3秒
-b:使用批处理模式输出。一般和“-n”选项合用,用于把top命令重定向到文件中
-n次数:指定top命令执行的次数。一般和“-b”选项合用
-p:指定PID。只查看某个PID的进程
-S:使top在安全模式运行,避免在交互模式中出现错误
-u用户名:只监听某个用户的进程

top每一行的信息

第一行信息:

18:09:42 up 18 days 表示当前系统运行了18天18小时
登录了2个用户
load average 表示系统在之前的1分钟,5分钟,15分钟的平均负载
如果CPU是单核,则这个数超过1,就是高负载。
如果CPU是四核,则这个数超过4,就是高负载。
(这个平均负载完全是个人经验来进行判断的,般认为不应该超过服务器CPU的核数。)
—但公司的系统是双核的,也已经到了2的数字,但Cpu仅仅使用了2.3%

第二行信息:

Tasks:130 total系统中的进程总数
1 running正在运行的进程数
94 sleeping睡眠的进程
0 stopped正在停止的进程
0 zombie 僵尸进程。如果不是0,需要手工检查僵尸进程

  1. top - 18:09:42 up 18 days, 22:10, 2 users, load average: 2.13, 2.12, 2.11
  2. Tasks: 130 total, 1 running, 129 sleeping, 0 stopped, 0 zombie
  3. %Cpu(s): 1.0 us, 1.7 sy, 0.0 ni, 97.1 id, 0.0 wa, 0.0 hi, 0.2 si, 0.0 st
  4. KiB Mem : 3792456 total, 265824 free, 340044 used, 3186588 buff/cache
  5. KiB Swap: 4063228 total, 4062716 free, 512 used. 2952120 avail Mem

第三行CPU 信息:

内容说明
Cpu(s): 0. 1%us用户模式占用的CPU百分比
0.1%sy系统模式占用的CPU百分比
0.0%ni改变过优先级的用户进程占用的CPU百分比
99.7%id空闲CPU的CPU|百分比
0.1%wa等待输入/输出的进程的占用CPU百分比
0.0%hi硬中断请求服务占用的CPU百分比
0.1%si软中断请求服务占用的CPU百分比
0.0%stst (Steal time)虚拟时间百分比。就是当有虚拟机时,虛拟CPU等待实际CPU的时间百分比

第四行: 物理内存信息

Mem: 625344k total物理内存的总量,单位KB
571504k used已经使用的物理内存数量
53840k free空闲的物理内存数量
65800k buffers作为缓冲的内存数量

第五行: 交换分区信息

Swap: total 交换分区(虚拟内存)的总大小
0k used已经使用的交互分区的大小
free 空闲交换分区的大小
cached 作为缓存的交互分区的大小

查看网络情况netstat 这块需要再补充

netstat -anp 查看所有的网络服务
-an 表示按一定顺序排列输出
-p 显示哪个进程在调用

根据进程pid查端口:netstat -nap | grep pid

  1. [root@node2 ~]# netstat -anp|grep 23215
  2. unix 2 [ ACC ] STREAM LISTENING 1374139 23215/lrmd @lrmd
  3. unix 2 [ ] DGRAM 1374138 23215/lrmd
  4. unix 3 [ ] STREAM CONNECTED 1414469 23215/lrmd @lrmd
  5. unix 3 [ ] STREAM CONNECTED 1372080 23215/lrmd @lrmd

找到使用端口的进程

先根据端口port找到进程号:netstat -nap | grep port
netstat -anp |grep 8801 查看 哪些程序在占用8801端口,找出进程号
再根据进程号找到对应的程序 ps -aux|grep 进程号

  1. t:表示查看tcp
  2. u:表示查看udp
  3. n:表示端口以数字形式表示,没有n直接显示服务名。
  4. l:表示显示所监听的端口
  5. p:表示占用端口的进程

监控磁盘实时读写情况
iotop

vmstat 1 3 一秒刷新一次,刷新三次

  1. [root@kylin237 grub2]# vmstat 1 3
  2. procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
  3. r b swpd free buff cache si so bi bo in cs us sy id wa st
  4. 1 0 512 200908 12 3157720 0 0 0 7 11 10 2 3 95 0 0
  5. 0 0 512 200916 12 3157724 0 0 0 0 1858 3562 1 2 97 0 0
  6. 0 0 512 200932 12 3157724 0 0 0 0 1909 3605 1 4 95 0 0

解释下这个命令的输出:

procs: 进程信息字段:
r:等待运行的进程数,数量越大,系统越繁忙。
b:不可被唤醒的进程数量,数量越大,系统越繁忙。

memory: 内存信息字段:
swpd:虛拟内存的使用情况,单位KB。
free:空闲的内存容量,单位KB。
buff:缓冲的内存容量,单位KB.
cache:缓存的内存容量,单位KB。