第二十七章: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/

《Linux命令行与shell脚本编程大全》 第二十七章 学习笔记的更多相关文章

  1. 《Linux命令行与shell脚本编程大全》23章24章

    第二十三章 使用其他shell bash shell是linux发行版中最广泛使用的shell.但是它并不是唯一的选择,还有其他的shell可以供你选择. 23.1 什么是dash shell 百度百 ...

  2. 《Linux命令行与shell脚本编程大全》第九章 安装软件程序

    包管理系统(PMS):用来进行软件安装.管理和删除的命令行工具 9.1包管理基础 1.主流的Linux发行版都采用了某种形式的包管理系统来控制软件和库的安装 2.PMS用一个数据库来记录:系统上安装了 ...

  3. Linux命令行与shell脚本编程大全.第3版(文字版) 超清文字-非扫描版 [免积分、免登录]

    此处免费下载,无需账号,无需登录,无需积分.收集自互联网,侵权通知删除. 点击下载:Linux命令行与shell脚本编程大全.第3版 (大小:约22M)

  4. 《Linux命令行与shell脚本编程大全 第3版》创建实用的脚本---11

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  5. 《Linux命令行与shell脚本编程大全 第3版》高级Shell脚本编程---47

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  6. 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---57

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  7. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---57

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  8. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---56

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  9. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---55

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  10. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---54

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

随机推荐

  1. javaScript 删除数组中指定元素

    Array.prototype.indexOf = function(val) { for (var i = 0; i < this.length; i++) { if (this[i] == ...

  2. 使用SQL Server 2008远程链接时SQL数据库不成功的解决方法

    关键设置: 第一步(SQL2005.SQL2008): 开始-->程序-->Microsoft SQL Server 2008(或2005)-->配置工具-->SQL Serv ...

  3. IO流基础

    IO流,也称为数据流,用于处理设备之间的数据传输. JAVA对数据的操作就是通过流的方式,而流分为两种:字符流,字节流 字符流: 可以内部制定码表,处理文字很方便,字符流里的基类是Reader,Wri ...

  4. 常见的iis日志代码!

    2xx  成功 200  正常:请求已完成. 201  正常:紧接 POST 命令. 202  正常:已接受用于处理,但处理尚未完成. 203  正常:部分信息 — 返回的信息只是一部分. 204   ...

  5. iOS 对视频抽帧。

    这里有两种方法可以采用, 方法一:使用MPMoviePlayerController MPMoviePlayerController *moviePlayer = [[MPMoviePlayerCon ...

  6. 借助Q.js学习javascript异步编程。

    金字塔式 //add1 function step1(n, callback) { setTimeout(function(){ callback.call(null, n + 1); }, 100) ...

  7. POJ3274-牛的属性-HASH-ACM

    原题:POJ3274 参考:进击的阿俊 已知有n头牛,用一个K位二进制数Ak,Ak-1,...,A1表示一头牛具有的特征,Ai=1表示具有特征i.现给定按顺序排列的N头牛的k位特征值,称某个连续范围内 ...

  8. GET和POST详解

    GET和POST 表单提交方式 http的get提交方法把表单数据编码到url中,可以在浏览器地址栏中看到, post提交把表单数据编码到http请求包的正文部分,在url中啊可能不到数据

  9. JQuery jsonp使用小记

    在一个不支持PHP的主机上,需要对某些页面做访问统计.我的方案是在静态的HTML页面上,用JSONP向能够执行PHP的主机进行跨域请求,从而使用PHP解决这个访问量统计问题. 在服务器端,PHP页面返 ...

  10. PHP要注意的14个问题

    1.页面之间无法传递变量 get,post,session 在最新的php版本中自动全局变量是关闭的,所以要从上一页面取得提交过来得变量要使 用$_GET['foo'],$_POST['foo'],$ ...