系统资源监控统计

监控和管理

1.cpu监控和管理

2.内存监控和管理

3.系统监控和管理

4.进程监控和管理

5.磁盘监控和管理

6.网络监控和管理

 

ps aux显示的各项说明

# ps aux

USER      PID %CPU %MEM    VSZ   RSS TTY     STAT START   TIME COMMAND

USER 那个用户启动的

PID  进程号

%CPU cpu占用百分比

%MEM 内存占用百分比

      VSZVirtual memory SiZe  线性地址空间所占用的大小

      RSS:常驻内存集   使用过程中不能交换出去的内存空间

TTY    跟哪个终端相关

STAT状态:进程的状态

     R:运行态

     S:可中断睡眠

     D:不可中断睡眠

     T停止态

     Z:僵尸态

     s:会话的领导者

     +:前台进程

     l:多线程进程

     N:低优先级进程

    < : 高优先级进程

  TIME CPU上真正执行的时间

 COMMAND 执行的进程,加了[]表示为内核线程

 

NI   nice

PRI  优先级

PSR  运行在哪个核心上  

 

top显示的分布信息解释

# top

top - 17:38:20 up 4 days, 10:12,  3 users, load average: 0.00, 0.00, 0.00

Tasks: 221 total,   2 running, 219 sleeping,   0 stopped,  0 zombie

Cpu(s): 1.9%us,  3.4%sy,  0.0%ni, 94.6%id,  0.1%wa, 0.0%hi,  0.0%si,  0.0%st

Mem: 12190184k total,  6550212kused,  5639972k free,   292720k buffers

Swap: 1572860k total,        0k used,  1572860k free,  1372944k cached

 

  PIDUSER      PR  NI VIRT  RES  SHR S %CPU %MEM    TIME+ COMMAND 

  id: 空闲百分比

   waCPU用于等待io事件完成所消耗的时间占据的百分比

   hi:硬件中断占用的百分比

   si:软件中断占用的百分比

   st:被虚拟机拿走的时间,时间被DomU拿走了

   SHR:共享内存的大小

 

1.cpu监控和管理

a.tsar工具,tsar是淘宝官方研发的,安装好后需要等/var/log/tsar.data生成了以后在使用。下载地址:http://code.taobao.org/p/tsar/wiki/get/

#tsar --cpu 显示前一个5分钟的前一个小时cpu上资源使用信息

Time       -----------------------cpu----------------------

Time          user     sys   wait    hirq    sirq   util

#tsar --cpu--live  实时显示cpu上资源使用信息,每隔5秒钟显示一次

 

b.iostat工具,需要安装Centos自带有,可以yum安装

#iostat -c 1  统计cpu使用情况

avg-cpu:  %user  %nice %system %iowait  %steal   %idle

 

c.htop工具,是epel源提供的

可以监控每个核心的使用情况

#htop

wKioL1Wfl6ixrUR4AADU7Q8xDUE005.jpg

f2可以设置显示的方式,而且可以通过鼠标来选中各项。

总共有四种显示方式:LEDBarTextGraph   其中LEDText都是比较直观的,可以设置为这两种方式显示。

这个是按f2后的整体显示画面

wKioL1WfmBTxXhqIAAF1CE2Pvj4756.jpg

wKiom1WflkHDdnZFAAEvTsk4zdA114.jpg

wKioL1WfmBSB0K66AAFTBT3lz0w331.jpg

wKiom1WflkKx3ZtOAAMkxSyqE_E252.jpg

这里显示没有进程在哪个核心上,设置显示进程所在的核心

wKioL1WfmD2STwVQAAGdGAV50-c891.jpg

f10完成

wKiom1WfloDzKsfqAAOPJc-b6O8812.jpg

a选项可以绑定进程在指定的cpu上,但是经过测试没什么用,起不了作用,可能还有其他信息要设置。

 

d.dstat来自Base源下的

# dstat --cpu   统计cpu总体使用情况

----total-cpu-usage----

usr sys idl waihiq siq

# dstat -C0,1,total   可以指定核心数来统计信息

-------cpu0-usage--------------cpu1-usage-----------total-cpu-usage-----dsk/total- -net/total- ---paging-- ---system--

usr sys idl waihiq siq:usr sys idl wai hiq siq:usr sys idl wai hiq siq| read  writ| recv send|  in   out | int  csw

 

e. d.top工具,Base源提供的

# top

top - 16:09:42 up4 days,  8:43,  3 users, load average: 0.00, 0.00, 0.00

Tasks: 217total,   1 running, 216 sleeping,   0 stopped,  0 zombie

Cpu(s):  0.0%us, 14.3%sy,  0.0%ni, 85.7%id,  0.0%wa, 0.0%hi,  0.0%si,  0.0%st

Mem:  12190184k total,  6544324k used,  5645860k free,   291800k buffers

Swap:  1572860k total,        0k used,  1572860k free,  1372720k cached

 

  PID USER     PR  NI  VIRT RES  SHR S %CPU %MEM    TIME+ COMMAND

P,显示按cpu使用情况排序来进行动态显示

 

2.内存监控和管理

a.free工具,Base源提供的

#free -m M为单位显示信息,-s X是每个X秒显示统计信息

# free -m

             total       used       free    shared    buffers     cached

Mem:         11904      6390       5513          0        284       1340

-/+buffers/cache:       4765       7138

Swap:         1535          0       1535

 

b.vmstat工具,Base源提供的

# vmstat -n 1 5

procs-----------memory---------- ---swap-- -----io---- --system-- -----cpu-----

 r b   swpd   free  buff  cache   si  so    bi    bo  in   cs us sy id wa st

 

c.dstat工具,

# dstat -m   会动态进行统计

------memory-usage-----

 used buff  cach  free

 

d.top工具,Base源提供的

# top

top - 16:09:42 up4 days,  8:43,  3 users, load average: 0.00, 0.00, 0.00

Tasks: 217total,   1 running, 216 sleeping,   0 stopped,  0 zombie

Cpu(s):  0.0%us, 14.3%sy,  0.0%ni, 85.7%id,  0.0%wa, 0.0%hi,  0.0%si,  0.0%st

Mem:  12190184k total,  6544324k used,  5645860k free,   291800k buffers

Swap:  1572860k total,        0k used,  1572860k free,  1372720k cached

 

  PID USER     PR  NI  VIRT RES  SHR S %CPU %MEM    TIME+ COMMAND

M,显示按内存排序来进行动态显示

 

3.系统监控和管理

a.uptime工具,Base源提供的,

# uptime

 15:53:16 up 4 days,  8:27, 3 users,  load average: 0.00,0.00, 0.00  5分钟,10分钟,15分钟之间系统的负载

 

b.dstat工具

# dstat -y

---system--

 int  csw    中断数    上下文切换数

上下文切换数大,说明cpu核心数过少,上下文切换频繁

中断数过大,io硬件本身欠缺,要引入基于DMA的硬件以释放CPU

 

vmstathtoptop等都有显示系统信息

 

4.进程监控和管理

a.htop工具

 

b.top工具

 

c.ps工具

# ps aux

USER       PID %CPU %MEM    VSZ  RSS TTY      STAT START   TIME COMMAND

# ps -eF

UID        PID PPID  C    SZ  RSS PSR STIME TTY          TIMECMD

#ps -ao user,pid,psr..  自定义显示项

 

d.pidof工具,kill工具,killall工具,nice工具,renice工具

 

5.磁盘监控和管理

a.df工具

# df -lhP

Filesystem               Size  Used Avail Use% Mounted on

 

b.fdisk工具

# fdisk -l/dev/[sh]d[a-z]

 

c.parted工具

# parted DEVICEprint

 

d.dstat工具

# dstat -d

-dsk/total-

 read writ

# dstat -Dsda,total

----total-cpu-usage------dsk/sda----dsk/total- -net/total- ---paging-- ---system--

usr sys idl waihiq siq| read  writ: read  writ| recv send|  in   out | int  csw

 

e.iostat工具

 

6.网络监控和管理

a.ifconfig工具

b.ip工具

c.iptraf工具,Centos系统自带的

命令行直接运行iptraf,再按任意键后显示

wKiom1WflpGxgdfdAADplr7k3q8440.jpg

其中每一项选中后回车都有对应子项可选择,可根据显示需要进行选择

 

d.iftop工具,由epel源提供

 

e.mtr工具、dig工具、nmap工具、route工具

 

7.服务状态监控

# ss -atn | grep-v "^State\>" | awk '{print $1}' | sort | uniq -c

# netstat -an |awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}'

# ss -s

   -s, --summary       show socket usage summary

  

Total: 538 (kernel550)

TCP:   28349 (estab 105, closed 28024, orphaned 0,synrecv 0, timewait 28022/0), ports 252

 

TransportTotal     IP        IPv6

*      550       -         -       

RAW       1         1         0       

UDP        21        13        8       

TCP 325       214       111     

INET        347       228       119     

FRAG      0         0         0


你可能感兴趣的:(多线程,memory,百分比,网络监控,领导者)