《Linux命令行与shell脚本编程大全》 其次十七章 学习笔记

《Linux命令行与shell脚本编程大全》 第二十七章 学习笔记

第二十七章:shell脚本编程进阶

 

监测系统统计数据

系统快照报告

1.运行时间

uptime命令会提供以下基本信息:

当前时间

系统运行的天数,小时数,分钟数

当前登录到系统的用户数

1分钟,5分钟,15分钟的平均负载

$ uptime 
 16:20:51 up 2 days,  3:11,  9 users,  load average: 0.01, 0.02, 0.05

2.磁盘使用情况

$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              47G  5.8G   39G  13% /
none                  2.9G  244K  2.9G   1% /dev
none                  2.9G  5.3M  2.9G   1% /dev/shm
none                  2.9G  456K  2.9G   1% /var/run
none                  2.9G     0  2.9G   0% /var/lock
/dev/sda7             197G  141G   47G  76% /home
/dev/sdb              459G  338G   98G  78% /home/su1216/android/source/cn3

3.内存使用情况

free命令会显示物理内存总量,以及其中空闲,使用。还会显示交换内存的上述数据,包括内核缓冲区。

$ free
             total       used       free     shared    buffers     cached
Mem:       6025532    5966392      59140          0     967352    1849580
-/+ buffers/cache:    3149460    2876072
Swap:      2899696     174624    2725072

4.僵尸进程

$ ps -al
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
1 S  1000  2279     1  0  80   0 - 21912 poll_s pts/0    00:00:36 fcitx
0 S  1000 27284     1  0  80   0 -  7330 poll_s pts/3    00:00:02 adb
0 R  1000 29962  2252  0  80   0 -  2737 -      pts/0    00:00:00 ps

S列状态为Z的为僵尸进程,上面没有僵尸进程

$ ps -al | tr -s ' ' ' ' | cut -d ' ' -f 2,4
S PID
S 2279
S 27284
R 29959
S 29960
S 29961

然后再grep -Z就可以找到僵尸进程以及对应的PID

系统统计数据报告

vmstat可以查看虚拟机状态

vmstat的输出符号

符号 描述
r 等待CPU时间的进程数
b 处于不可中断休眠中的进程数
swpd 使用的虚拟内存总量(单位:MB)
free 空闲的物理内存总量(单位:MB)
buff 用作缓冲区的内存总量(单位:MB)
cache 用作高速缓存的内存总量(单位:MB)
si 从磁盘交换进来的内存总量(单位:MB)
so 交换到磁盘的内存总量(单位:MB)
bi 从块设备收到的块数
bo 发送给块设备的块数
in 每秒的CPU中断次数
cs 每秒的CPU上下文切换次数
us 用于执行非内核代码的CPU时间所占用的百分比
sy 用于执行内核代码的CPU时间所占用的百分比
id 处于空闲状态的CPU时间所占的百分比
wa 处于等待I/O的CPU时间所占的百分比

 第一次运行vmstat时,它会显示上次重启以来的平均负载值。

要得到当前统计数据,必须添加参数:

$ vmstat 1 3
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 0  0 191364 158988 246504 2287404    0    0    64    82   48   17  3  1 96  1
 0  0 191364 158888 246504 2287416    0    0     0     0  374  862  2  0 98  0
 0  0 191364 158888 246504 2287416    0    0     0     0  360  970  1  0 99  0

 

问题跟踪数据库

默认情况下,mysql会忽略大小写

在mysql中可以使用正则。比如:

select * from tableA where name REGEXP 'regular expression'

 

(笔记只保留了必要的脚本,没有什么新的知识,全部脚本请参阅原书第27章576页)

 

转贴请保留以下链接

本人blog地址

http://su1216.iteye.com/

http://blog.csdn.net/su1216/