资源查看部分
=============================================================================
---------------------------------
整机情况查看——vmstat
------------------------------------------
vmstat 2 1 【vmstat有两个参数,第一个参数是采样的时间间隔,第二个参数是采样次数】
执行情况:
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 291044 37056 816580 0 0 109 92 388 1509 14 4 80 2 0
参数解释:
【进程】
r:run表示运行队列,就是所有多少进程真正分配到了cpu
b:block表示阻塞队列,就是有多少进程阻塞在IO等地方了
【内存】
swpd:swap used表示虚拟内存已使用的大小(单位:KB)
free:空闲物理内存的大小
buff:用作缓冲区的内存大小
cache:用作告诉缓冲的大小
【交换】
si:每秒从磁盘读入虚拟内存的大小
so:每秒从虚拟内存写入磁盘的大小
【文件】
bi:
bo:这两个主要查看【!!!IO操作是否频繁】
【系统】
cs:每秒上下文切换的次数,例如系统调用、线程切换、进程切换都会引起上下文切换。cs值大表示cpu忙于上下文切换
这两个主要查看【!!!cpu线、进程切换是否频繁】
【cpu】
sy:系统使用cpu时间,如果太高,表示系统调用时间长,例如IO操作频繁%
id:空闲cpu时间%
wa:等待IO所消耗的cpu时间%
st:从虚拟设备中获得的时间%
us+sy+id+wa+st=1
【###】内存监控
主要关心swpd、free、si、so、buff、cache。尤其是free、si、so如果空闲内存少,且磁盘虚拟内存交换频繁,那么该是程序导致内存泄漏了
【###】cpu监控
主要关注3个指标:运行队列r、cpu使用率和上下文切换
运行队列:每个cpu维护一个运行队列,调度器会不断论询让队列中的进程运行,直到进程运行完毕,将进程从队列中删除。如果cpu过载,就会出现调度器跟不桑系统要求,导致运行队列中等待的进程越来越多。单核cpu,r小于等于
cpu使用率:如果cpu空闲率id长期低于10%,表示cpu资源很紧张,应该考虑优化进程;等待IO强迫消耗的cpu时间,这时候cpu白白浪费,wa应该越小越好
上下文切换:通过cpu时间轮询的方法,Linux能够支持多任务同时运行。对于普通的cpu,内核会调度和执行这些进程,每个进程都会被分配cpu时间片并运行。当一个进程用完时间片或者被更高优先级的进程抢占时间块后,它会被转到cpu的等待运行队列中,同时让其他进程在cpu上运行。这个进程切换的过程被称为上下文切换。过多的山下文切换会造成系统的很大的开销。cs、in主要用于查看cpu是否忙于切换上下文了
----------------------------------------------------------------------------------------------------------1.如果wa即等待IO的cpu时间非常高,而实际用户和系统的cpu少+等待IO的进程b很多。那么cpu的高使用率是由于等待IO造成的。(反应者模式中工作线程中使用阻塞IO)
2.bo、bi高表示大量使用IO
3.si、so高表示大量使用内存(内存泄漏)
4.r运行队列非空、in调度器中断频繁、cs上下文切换频繁、sy系统使用cpu频繁表示大量使用系统调用
整机情况查看——top,配合vmstat查看到底是哪个进程占用了大量的内存、cpu
------------------------------------------------------------------------------------------------------------------------
[luopan@localhost Desktop]$ top
top - 14:48:27 up 2:23,3 users,load average: 1.07,1.10,1.20
Tasks: 152 total,1 running,151 sleeping,0 stopped,0 zombie
cpu(s): 6.3%us,4.9%sy,0.0%ni,88.9%id,0.0%wa,0.0%hi,0.0%si,0.0%st
Mem: 1906280k total,1693332k used,212948k free,41160k buffers
Swap: 3145724k total,0k used,3145724k free,876924k cached
PID USER PR NI VIRT RES SHR S %cpu %MEM TIME+ COMMAND
2741 luopan 20 0 503m 5296 3776 S 4.0 0.3 2:28.73 pulseaudio
3519 luopan 20 0 1375m 323m 67m S 4.0 17.4 13:08.89 firefox
3596 luopan 20 0 1026m 77m 22m S 3.6 4.1 6:38.27 plugin-containe
2411 root 20 0 261m 110m 12m S 1.7 5.9 4:07.60 Xorg
2781 root 20 0 45224 672 404 S 0.3 0.0 0:01.30 udisks-daemon
2793 luopan 20 0 291m 17m 14m S 0.3 0.9 0:14.10vmtoolsd
top命令后,按shfit+p按cpu排序,按shift+M按内存排序
------------------
网络信息查看
-------------------------------------
ifconfig:可用于网络接口的查看、启动或停止
netstat:显示网络各种情况的命令;不跟参数的情况下表示:Active Internet connections活动的因特网连接
ping:
【###】组合使用
ps -a 【查看模拟终端的所有进程的进程号】
netstat -nap | grep 进程号 【查看特定进程号上的网络连接状态,是LISTIN还是TIME——WAIT...】
tcpdump -i lo 【查看本地127.0.0.1上过的所有数据包,换成eth0,那么就是eth0上的所有过的数据包】
tcpdump tcp port XXXX 【查看tcp端口port上所有过的数据包】
tty 【查看本模拟终端号】
ip link show 【查看网卡状态】
------------
服务查看
------------------------
【###】使用service查看服务运行状况
查看:service [服务名] status
启动:service [服务名] start
停止:service [服务名] stop
【###】使用chkconfig更改服务的开机启动状况
chkconfig命令:【修改启动项】
比如安装了Nginx,并且把该软件的启动脚本放在了/etc/init.d目录下了,就是开机自动启动了。但有时候需要修改默认启动级别,这时候就可以用chkconfig了。
chkconfig --list | grep on | grep Nginx
列出所有服务--->过滤列出开着的服务--->过滤列出开着的服务中带Nginx的服务
Nginx 0:off 1:off 2:on 3:on 4:on 5:on 6:off
表示Nginx这个服务在
0:关机
1:单用户模式
2:无网络连接的多用户命令行模式
3:有网络连接的多用户命令行模式
4:不可用
5:带图形界面的多用户模式
6:重新启动
时的默认运行状况
原文链接:https://www.f2er.com/centos/379576.htmlchkconfig [--add][--del][--list][系统服务]增加删除新服务(由chkconfig来管理)或者查询服务的运行级信息
chkconfig [--level][系统服务][on/off/reset]打开关闭某个受chkconfig管理的服务的启动级别的状况