系统资源查看与进程管理

0. cpu相关

0.1 uptime 查看cpu平均负载

分别显示近1、5、15分钟的cpu平均负载情况

 

1. 系统资源查看

1.1 free: 显示内存使用情况

-b:     bytes
-k:     KB
-m:    MB
-g:     GB

Mem: 物理内存; Swap: 虚拟内存(最好不要超过20%,系统使用到swap说明物理内存不足)。

1.2 uname: 查看系统与内核相关信息

-a:     所有系统相关信息
-s:     系统内核名称
-r:      内核版本
-m:    硬件名称
-p:     cpu类型
-i:      硬件平台

1.3 netstat: 网络监控

-a:     列出当前系统上所有的连接、监听、Socket数据;
-t:      列出tcp网络数据包的数据;
-u:     列出udp网络数据包的数据;
-n:     不列出进程的服务名称,以端口号port来显示;
-l:      列出当前正在监听listen的服务;
-p:     列出该网络服务的PID;

1.3.1 列出当前系统已新建的网络连接与unix socket 状态

netstat输出分为两部分,

1. 网络的连接

Proto:                   网络的数据包协议,主要包括TCP与UDP数据包;
Recv-Q:               非由用户进程连接到此socket的复制的总字节数;
Send-Q:               非由远程主机传送过来的acknowledged总字节数;
LocalAddress:     本地的IP端口情况;
ForeignAddress: 远程主机的IP端口情况;
State:                   连接状态(ESTABLISED:建立,LISTEN:监听);

2. socket程序部分

        socket file 可以沟通两个进程之间的信息,因此进程可以取得对方传送过来的数据,目前新版的distributions 就以socket来进行窗口界面的联机通信。

socket file 的输出字段如下:

Proto:      一般就是unix;
RefCnt:   连接到此socket的进程数量;
Flags:     连接的标识;
Type:      socket的访问类型(STREAM:需要确认连接;DGRAM:不需确认);
State:      连接状态;
Path:       相关数据输出路径;

1.3.2 列出当前系统上已在监听的网络及其PID

1.4 dmesg分析内核产生的信息

系统开机的时候,内核会去检测系统的硬件

# 查找开机时硬盘的相关信息
dmesg | grep -i hd

1.5 vmstat: 检测系统资源变化

vmstat 可以检测CPU/内存/磁盘输入输出状态等。

统计目前主机CPU状态,每2s一次,共计3次。

------procs 内存字段------

r:      等待运行中的进程数量
b:     不可被唤醒的进程数量

------memory 内存字段------

swpd:     已使用的虚拟内存大小
free:       未被使用的内存量
buff:       缓冲存储器
cache:    高速缓存

------swap 内存交换空间------

si:     由磁盘中将程序取出的量
so:    由于内存不足而将没用到的程序写入到磁盘的swap容量

------io 磁盘读写------

bi:     由磁盘写入的块数量
bo:    写入到磁盘去的块数量

------system------

in:     每秒被中断的进程次数
cs:    每秒进行的事件切换次数

------CPU------

us:     非内核层的cpu使用状态
sy:     内核层cpu使用状态
id:      闲置的状态
wa:    等待I/O所耗费的cpu状态
st:     被虚拟机所盗用的cpu使用状态

2. 进程管理

 2.1 ps: 查看某个时间点的进程运行情况

# 查看系统所有进程数据
ps aux
ps -lA
ps -ef
# 查看系统所有进程数据,连同部分进程树状态
ps axjf
常见参数:
-A   显示所有进程(同-e)
-u   有效用户相关进程
-f   完整格式输出

2.1.1 ps aux 查看系统所有进程

USER:    进程所属用户
%CPU:    使用CPU
%MEM:    使用物理内存
VSZ:     使用虚拟内存量(KB)
RSS:     占有固定内存量(KB)
TTY:     运行的终端机
STAT:    进程目前状态
START:   进程被触发启动的时间
TIME:    进程实际花费的cpu运行时间;
COMMAND: 此进程的触发命令

2.1.2 ps -l 仅查看自己bash相关进程

F: 代表进程标志(process flags),说明进程的权限
   4:权限为root;    
   1:此子进程仅可复制fork,而无法执行exec;
S: 代表进程状态(STAT)
   R: runing;    S: sleep;    
   D: 不可唤醒的睡眠状态(可能在等待IO)
   T: stop 后台暂停或除错(traced)状态; 
   Z: 僵尸状态,已经终止却无法被删除
C:      cpu使用率
PRI/NI: (Priority/Nice),代表进程被cpu执行的优先级,越小优先级越高
ADDR:   是kernel function,指出进程在内存的哪个部分,-代表running;
SZ:     代表进程用掉多少内存
WCHAN:  目前进程是否正在运行,-代表running;
TTY:    终端机位置,pts/n 代表远程登录;
TIME:   进程实际花费的cpu运行时间;
CMD:    此进程的触发命令

2.1.3 pstree 显示进程树

僵尸(zombie)进程:该进程已经执行完毕,或者因故应该要终止了,但其父进程却无法完整的将该进程结束掉,而造成其一直存在内存中。

若某进程的CMD后面还接上<defunct>时,其就是僵尸进程。

2.2 top: 动态查看进程的变化

可以持续监测系统进程工作状态(默认5s更新一次)

top [-d 数字] | top [-bnp]
-d:  每n秒更新一次top,默认5s
-b:  以批次的方式执行top
-n:  与-b搭配,表示需要进行几次top的输出结果
-p:  监测指定PID
在top中可以使用的命令
?:  显示可以输入的按键命令
P:   以cpu使用率排序
M:   以内存使用率排序
N:   以PID排序
T:   由该进程使用的cpu时间累积(TIME+)排序
k:   给予某个PID一个signal
r:   给予某个PID重新制定一个nice值
q:   离开top

top显示内容分为两部分,上面为系统资源使用状态,共六行。

第1行:
    目前的时间: 17:13:56
    开机到当前所经历的时间: up 166 days, 23:31
    已登录系统的用户数: 6 users
    系统在1,5,15min的平均工作负载: 0.00,0.01,0.05 代表系统要负责运行几个进程,>1表示系统压力太大。
第2行: 显示目前进程的总数与个别进程的状态,需注意zombie。
第3行: 显示cpu的整体负载,%wa代表I/Owait,若数值较大,系统会很慢。对于多核设备,可以按“1”进行不同cpu负载率的切换。
第4行: 显示目前物理内存的使用情况。
第5行: 显示目前虚拟内存的使用情况,主要不要大量使用swap。
第6行: 当在top中输入命令时显示状态(背景行的上一行)。

下方界面为每个进程使用资源的情况:

PID:   进程ID
USER:  进程所属用户
PR:    Priority进程优先级,越小优先级越高
NI:     Nice与PR类似
VIRT:   虚拟内存用量
RES:    物理内存用量
SHR:    共享内存用量
%CPU:   cpu使用率(top默认以此排序)
%MEM:   内存使用率
TIME+:  CPU使用时间的累加

一些例子:

# 查看111进程,每2s更新1次
top -d 2 -p 111

# 将top信息进行2次,结果输出到 top.txt
top -b -n 2 -p > top.txt

2.3 kill: 进程的管理

         1      SIGUP启动被终止的PID,类似重启
         9      SIGKILL强制中断一个进程
         15      SIGTERM以正常的结束流程来终止一个进程
# 杀死PID为111的进程(kill命令将signal(9)传送给PID为111的进程)
kill -9 111


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值