《最新CentOS系统状态查看.doc》由会员分享,可在线阅读,更多相关《最新CentOS系统状态查看.doc(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateCentOS系统状态查看CentOS系统状态查看CentOS系统状态查看环境介绍使用CentOS-6.4-x86_64-minimal.iso镜像文件安装操作系统,IP地址设置为192.168.0.2。vi /etc/sysconfig/network-scripts/ifcfg-eth0 修改为以下字段:DEVICE=eth0ONBOOT=yesBOOTPROTO=
2、staticIPADDR=192.168.0.2NETMASK=255.255.255.0GATEWAY=192.168.0.254DNS1=8.8.8.8IPV6INIT=yesIPV6ADDR=2001:da8:20d:31:2/64IPV6_DEFAULTGW=2001:da8:20d:31:1service network restart最好先使用date查看下当前时间,如果不准确的话,可以与国际时间做个同步yum -y install ntpdatentpdate time.nist.gov查看Cpu1) top命令是最流行Unix/Linux的性能工具之一。系统管理员可用运行top
3、命令监视进程和Linux整体性能。-n : 更新的次数,完成后将会退出 toptop -n 1top - 09:53:43 up 26 min, 1 user, load average: 0.02, 0.01, 0.00Tasks: 68 total, 1 running, 67 sleeping, 0 stopped, 0 zombieCpu(s): 0.6%us, 0.5%sy, 0.0%ni, 98.3%id, 0.6%wa, 0.0%hi, 0.0%si, 0.0%stMem: 1922616k total, 222816k used, 1699800k free, 8088k bu
4、ffersSwap: 2047992k total, 0k used, 2047992k free, 116692k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1391 root 20 0 15028 1160 900 R 1.9 0.1 0:00.02 top 1 root 20 0 19228 1492 1216 S 0.0 0.1 0:00.79 init 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 2) 可以看到第三行显示的是当前CPU状态信息top -n 1
5、| sed -n 3pCpu(s): 0.6%us, 0.5%sy, 0.0%ni, 98.4%id, 0.6%wa, 0.0%hi, 0.0%si, 0.0%st或者top -n 1 | grep CpuCpu(s): 0.6%us, 0.5%sy, 0.0%ni, 98.4%id, 0.5%wa, 0.0%hi, 0.0%si, 0.0%st3) 每列显示的意思如下:如果需要查看用户空间占用CPU的百分比,使用以下命令0.6% us 用户空间占用CPU的百分比。0.5% sy 内核空间占用CPU的百分比。0.0% ni 改变过优先级的进程占用CPU的百分比98.4% id 空闲CPU百分比
6、0.5% wa IO等待占用CPU的百分比0.0% hi 硬中断(Hardware IRQ)占用CPU的百分比0.0% si 软中断(Software Interrupts)占用CPU的百分比top -n 1|grep Cpu|awk print $20.6%us,4) 如果需要只显示百分比,使用以下命令top -n 1|grep Cpu|awk print $2|cut -c 1-40.6%5) 但是如果将这个数字作为系统CPU利用率不是很准,最好是使用100%减去空闲CPU百分比,使用以下命令top -n 1|grep Cpu|awk print $5| awk -F % print (1
7、00-$1)%1.3%查看内存6) 可以看到第四行显示的是当前Mem状态信息top -n 1 | sed -n 4pMem: 1922616k total, 223576k used, 1699040k free, 8216k buffers或者top -n 1|grep MemMem: 1922616k total, 223452k used, 1699164k free, 8208k buffers7) 每列显示的意思如下:如果需要查看用物理内存总量,使用以下命令1922616k total 物理内存总量223576k used 使用中的内存总量1699040k free 空闲内存总量82
8、16k buffers 缓存的内存量top -n 1|grep Mem|awk print $31922616k8) 如果需要显示内存使用百分比,使用以下命令top -n 1|grep Mem|awk print $5/$3*100%11.6421%9) 也可以通过free命令查看内存使用情况(单位k,如果需要单位为m,使用free -m)注:free命令比top命令更快total:总计物理内存的大小。used:已使用多大。free:可用有多少。Shared:多个进程共享的内存总额。Buffers/cached:磁盘缓存的大小。free total used free shared buffe
9、rs cachedMem: 1922616 223436 1699180 0 8328 116796-/+ buffers/cache: 98312 1824304Swap: 2047992 0 204799210) 第二行为内存使用情况free | sed -n 2pMem: 1922616 223436 1699180 0 8344 116796或者free | grep MemMem: 1922616 223436 1699180 0 8344 11679611) 如果需要查看总计物理内存的大小,可以使用以下命令free -m | sed -n 2p | awk print $21877
10、12) 如果需要显示内存使用百分比,使用以下命令free | sed -n 2p | awk print $3/$2*100%11.6344%查看磁盘13) 可以使用df命令查看磁盘情况(默认单位为k,如果需要单位为m,使用df m 或者单位自动df -h)df文件系统 1K-块 已用 可用 已用% 挂载点/dev/mapper/VolGroup-lv_root 28455944 1407236 25603232 6% /tmpfs 961308 0 961308 0% /dev/shm/dev/sda1 495844 52894 417350 12% /boot14) 因为显示的不对齐,需要
11、-P参数对齐df -P文件系统 1024-块 已用 可用 配额 挂载点/dev/mapper/VolGroup-lv_root 28455944 1407276 25603192 6% /tmpfs 961308 0 961308 0% /dev/shm/dev/sda1 495844 52894 417350 12% /boot15) 因为第一行不是需要的内容,需要去除第一行df -P | sed -n 1!p/dev/mapper/VolGroup-lv_root 28455944 1407268 25603200 6% /tmpfs 961308 0 961308 0% /dev/shm
12、/dev/sda1 495844 52894 417350 12% /boot16) 如果只需要查看总磁盘大小一行,使用命令df -P | sed -n 1!p | awk print $2 2845594496130849584417) 如果需要计算总磁盘大小一行,使用命令df -P | sed -n 1!p | awk a+=$2 END print a 2991309618) 如果需要计算总的使用磁盘大小一行,使用命令df -P | sed -n 1!p | awk b+=$3 END print b 146016619) 如果需要计算总的磁盘使用率,使用命令df -P | sed -n
13、 1!p | awk a+=$2 b+=$3 END print b/a*100% 4.88139%查看网速20) 可以使用ifconfig命令查看网卡eth0的使用情况ifconfig eth0eth0 Link encap:Ethernet HWaddr 00:50:56:B2:1D:65 inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: 2001:da8:20d:31:2:/64 Scope:Global inet6 addr: 2001:da8:20d:31:250:56ff:feb2:1d
14、65/64 Scope:Global inet6 addr: fe80:250:56ff:feb2:1d65/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:949925 errors:0 dropped:0 overruns:0 frame:0 TX packets:476662 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1350085212 (1.2 GiB) TX bytes:
15、33019912 (31.4 MiB)21) 最后一行可以查看网卡接收和发送字节ifconfig eth0 | grep bytes RX bytes:1350100537 (1.2 GiB) TX bytes:33023756 (31.4 MiB)22) 字节数是随着时间的增长不停的增加的,查看当前接收字节数,可使用如下命令ifconfig eth0 |grep bytes | awk print $2 | awk -F : print $21350116823ifconfig eth0 |grep bytes | awk print $2 | awk -F : print $2135012
16、059123) 由于字节数的不断增长,所以每间隔1秒取得值相减即为该秒的网速值ifconfig eth0 |grep bytes | awk print $2 | awk -F : print $2 ; sleep 1s ; ifconfig eth0 |grep bytes | awk print $2 | awk -F : print $21350168724135016887624) 两个命令返回值相减,需要使用脚本来做操作vi RX.sh输入以下内容RX0=$(ifconfig eth0 |grep bytes | awk print $2 | awk -F : print $2)sl
17、eep 1sRX1=$(ifconfig eth0 |grep bytes | awk print $2 | awk -F : print $2)echo $(RX1-RX0)sh RX.sh 240得出的240,即为当前网卡的实时接收网速为240B/s25) 如果需要显示单位为KB/s或者MB/s,需要在原来的值后面除以1024,但是默认使用echo除法只能显示整数,不能显示小数,这里需要使用awk命令vi RX.sh修改为以下内容RX0=$(ifconfig eth0 |grep bytes | awk print $2 | awk -F : print $2)sleep 1sRX1=$(
18、ifconfig eth0 |grep bytes | awk print $2 | awk -F : print $2)awk BEGINprint ($RX1-$RX0)/1024sh RX.sh 0.11718826) 同理,可以使用脚本取到实时接收和实时发送的网速vi Rb.sh输入以下内容RX0=$(ifconfig eth0 |grep bytes | awk print $2 | awk -F : print $2)TX0=$(ifconfig eth0 |grep bytes | awk print $6 | awk -F : print $2)sleep 1sRX1=$(if
19、config eth0 |grep bytes | awk print $2 | awk -F : print $2)TX1=$(ifconfig eth0 |grep bytes | awk print $6 | awk -F : print $2)awk BEGINprint ($RX1-$RX0)/1024 ; awk BEGINprint ($TX1-$TX0)/1024sh Rb.sh 97.003911547.2这是我从客户端下载该设备上文件时,得出的网速,接收97.0039KB/s,发送11547.2 KB/s记录参数27) 如果只需要将时间,CPU利用率,内存利用率,磁盘利用率
20、记录在文件,使用命令echo $(date +%F-%T ; top -n 1|grep Cpu|awk print $5| awk -F % print (100-$1)%;free | sed -n 2p | awk print $3/$2*100%;df -P | sed -n 1!p | awk a+=$2 b+=$3 END print b/a*100%) /root/status.txt执行三次,再查看cat /root/status.txt 2013-10-09-12:15:29 0.6% 12.2874% 6.01956%2013-10-09-12:15:32 0.6% 12.
21、2883% 6.01961%2013-10-09-12:15:34 0.6% 12.2883% 6.01961%28) 如果需要每隔5分钟就执行一次,需要使用crontab,命令为crontab -e输入以下内容:注:在定时器crontab启动的脚本中使用top命令,默认不能正常执行,需要给top命令加上 -b参数(以非交互和非全屏模式运行)即可同时,所有的%前需要使用符号来转义,不然也会出错*/5 * * * * echo $(date +%F-%T ; top -bn 1|grep Cpu|awk print $5| awk -F % print (100-$1)%;free | sed
22、-n 2p | awk print $3/$2*100%;df -P | sed -n 1!p | awk a+=$2 b+=$3 END print b/a*100%) /root/status.txt稍等20分钟,可查看cat /root/status.txt 2013-10-09-12:45:01 0.6% 12.6253% 6.01995%2013-10-09-12:50:01 0.6% 12.6253% 6.01995%2013-10-09-12:55:05 0.6% 12.5587% 6.01995%29) 如果还需要将网卡使用情况记录在文件,使用脚本vi status.sh 输入
23、以下内容:Time=$(date +%F-%T)Cpu=$(top -bn 1|grep Cpu|awk print $5| awk -F % print (100-$1)%)Mem=$(free | sed -n 2p | awk print $3/$2*100%)Disck=$(df -P | sed -n 1!p | awk a+=$2 b+=$3 END print b/a*100%)RX0=$(ifconfig eth0 |grep bytes | awk print $2 | awk -F : print $2)TX0=$(ifconfig eth0 |grep bytes | a
24、wk print $6 | awk -F : print $2)sleep 1sRX1=$(ifconfig eth0 |grep bytes | awk print $2 | awk -F : print $2)TX1=$(ifconfig eth0 |grep bytes | awk print $6 | awk -F : print $2)echo $(echo $Time $Cpu $Mem $Disck ;awk BEGINprint ($RX1-$RX0)/1024 ; awk BEGINprint ($TX1-$TX0)/1024) /root/status.txtsh stat
25、us.sh cat /root/status.txt2013-10-09-16:05:16 0.7% 27.076% 7.62876% 0.0585938 0.04101562013-10-09-16:10:06 0.7% 27.0958% 7.62887% 114.785 112222013-10-09-16:10:08 0.7% 27.1022% 7.62887% 96.3867 115252013-10-09-16:10:11 0.7% 27.097% 7.62887% 92.2266 11014.9可以看出,从客户端下载该设备上文件时,发送网速急速上升30) 如果需要每隔5分钟就执行一
26、次,需要使用crontab,注:在定时器crontab启动的脚本中直接使用ifconfig命令,默认不能正常执行,需要给出全路径vi status.sh 修改为Time=$(date +%F-%T)Cpu=$(top -bn 1|grep Cpu|awk print $5| awk -F % print (100-$1)%)Mem=$(free | sed -n 2p | awk print $3/$2*100%)Disck=$(df -P | sed -n 1!p | awk a+=$2 b+=$3 END print b/a*100%)RX0=$(/sbin/ifconfig eth0 |
27、grep bytes | awk print $2 | awk -F : print $2)TX0=$(/sbin/ifconfig eth0 |grep bytes | awk print $6 | awk -F : print $2)sleep 1sRX1=$(/sbin/ifconfig eth0 |grep bytes | awk print $2 | awk -F : print $2)TX1=$(/sbin/ifconfig eth0 |grep bytes | awk print $6 | awk -F : print $2)echo $(echo $Time $Cpu $Mem
28、 $Disck ;awk BEGINprint ($RX1-$RX0)/1024 ; awk BEGINprint ($TX1-$TX0)/1024) /root/status.txtcrontab -e输入以下内容:*/5 * * * * sh /root/status.sh稍等20分钟,可查看cat /root/status.txt 2013-10-09-16:25:01 0.7% 27.4% 7.62897% 0.117188 0.04101562013-10-09-16:30:01 0.7% 27.4104% 7.62897% 0.9375 66.53322013-10-09-16:35:01 0.7% 27.4043% 7.629% 1.58203 133.2772013-10-09-16:40:01 0.7% 27.4116% 7.629% 1.69922 133.33-