shell编程很强大!网站访问量大的时候MySQL的压力就比较大,当mysql的CPU利用率超过300%的时候就不能提供服务了,近乎卡死状态,这时候最好的方法就是重启mysql服务。由于这种事具有不可预见性,我们不知道什么时候mysql的占用率达到300%,还是写个程序定期判断比较靠谱。

学了shell编程,写了下面的脚本:

#!/bin/bash cpu=`ps aux | grep 'mysqld$' | cut -d " " -f6 | cut -d. -f1`if [ $cpu -gt 300]thenservice mysql restart&& date >> /tmp/mysql.logfi

稍微解释一下。首先执行"ps aux"命令获取所有系统进程的状态信息,包括CPU,内存等,如下图:

然后通过管道将信息传送给grep,$就是正则表达式结尾的意思,从所有的进程中找到以“mysqld”结尾的进程,其实就是mysql啦,这里返回的是mysql进程的信息,一行,如下图:

接下来的一个cut是截断字符串,我们要统计的是CPU的占用率,当然要截取mysql的CPU数值,cut命令默认是用tab分割的,但是ps aux显示的字符串中的空白是空格而不是tab,我们就要用空格来分割,有的字符串之间是多个空格,这里的 -f8 参数就是截取第8个字符串(有的系统可能是第6个),这个字符串就是mysql的CPU占用率啦!

也许你会有疑问,既然已经得到mysql的CPU占用率了,为什么后面还有一个cut?问的好!我当初也没想到这个问题。因为我们要比较CPU的占用率嘛,这里我们取得的字符串是一个浮点数(带小数点的),但是shell编程里面是不支持浮点数比较大小的。怎么办?那就比较整数呗,以“.”分割这个浮点数,第一个就是整数部分,这样我们就取得了mysql占用率的整数部分。

后面就是一个判断,如果大于300的话就就重启mysql服务。后面还有一个命令,这个命令是一个简单的“日志”,目的就是当重启一次服务就记录一下重启mysql的时间,便于以后分析网站的压力情况。

接下来就是定期执行这个程序了,根据情况可以5分钟或者10分钟执行一次,只要编辑 /etc/crontab文件,加入如下语句:

*/5 *  * * *  root    /home/ma6174/mysql_restart.sh

linux mysql cpu 查看工具_Shell编程检测监控MySQL的CPU占用率相关推荐

  1. mysql binlog查看工具_【使用 Rust 写 Parser】4. 解析 binlog

    系列所有文章 PrivateRookie:[使用 Rust 写 Parser]1. 初识 nom​zhuanlan.zhihu.com PrivateRookie:[使用 Rust 写 Parser] ...

  2. Linux so库查看工具

    代码运行过程中,难免因各种原因引起crash,如果crash 发生时恰好capture 当时的堆栈信息,对定位错误将是大功一件,然而有时候看到满满的堆栈信息,却不知从何开始入手, 本文介绍几个著名的L ...

  3. Linux记载磁盘信息,分享一款高逼格的Linux磁盘信息查看工具

    原标题:分享一款高逼格的Linux磁盘信息查看工具 可以使用df命令来显示在Linux.macOS和类Unix系统中挂载的文件系统上有多少可用磁盘空间.还可以使用du命令来估计文件空间的使用情况.我们 ...

  4. prometheus监控mysql慢查询_使用Grafana+Prometheus监控mysql服务性能

    prometheus(也叫普罗米修斯)官网: grafana官网: 特征 普罗米修斯的主要特点是: 具有由度量名称和键/值对标识的时间序列数据的 一个 来利用这一维度 不依赖分布式存储; 单个服务器节 ...

  5. linux mysql cpu 查看工具_Linux监控工具-Nmon命令行:Linux系统性能的监测利器

    Nmon是一款面向系统管理员的调优和基准测量工具,可以用来显示关于下列方面的性能数据: 处理器 内存 网络 磁盘 文件系统 网络文件系统(NFS) 消耗资源最多的进程 资源 Power微分区 我非常喜 ...

  6. linux mysql 进程查看工具_linux查看正在运行的进程(如何在Linux中查看所有正在运行的进程)...

    如何在Linux中查看所有正在运行的进程 名称:ps 使用权限:所有使用者 使用方式:ps [options] [--help] 说明:显示瞬间行程 (process) 的动态 参数:ps的参数非常多 ...

  7. linux统计数据查看工具,CPU性能统计数据及Linux监控工具使用

    一.CPU性能统计数据 1.Run Queue Statistics-- 运行队列统计 In Linux, a process can be either runnableor blocked wai ...

  8. linux 进程占用cpu查看工具,Linux下如何查看某一进程的CPU占用率

    /proc下每个进程有一个目录,目录下的stat文件可以得到关于该进程的信息,比如: # cat /proc/2122/stat 2122 (sshd) S 6599 2122 2122 0 -1 8 ...

  9. mysql文件查看工具_OpenDBViewer

    OpenDBViewer是一款小巧好用的数据库文件浏览和查看工具,这款工具可以让你需安装相应的数据库工具和客户端就可以直接打开文件,支持SQLite.MySQL和PostgreSQL等类型的数据库,软 ...

最新文章

  1. 腾讯云携手SENSORO,为城市安全保驾护航
  2. xcode新版本single view_动态数组函数系列1|概况-跟以往Excel版本完全不一样玩法的函数...
  3. (笔记)电路设计(十四)之放大器的应用
  4. 一个有趣的python排序模块:bisect
  5. 潜在语义分析原理以及python实现代码!!!!
  6. html 网页整体的背景色,HTML 背景
  7. Oracle中的rownum不能使用大于的问题
  8. java中servlet的请求范围_java – 如何设置servlet中并发请求数的限制?
  9. 浮窗 动画特效 android,悬浮窗能实现自定Animation动画效果吗?
  10. JAVA微信小程序外卖点餐系统毕业设计 开题报告
  11. MacBook安装虚拟机Parallels Desktop
  12. Discuz!首页去掉版块的最后发表、主题数、总帖数
  13. 微软MSDN Webcast系列视频教程集锦整理
  14. centos7根分区扩容(适用目前主流版本)
  15. 关于使用群晖系统创建音乐外链的研究
  16. 研发能力加码!维视智造团队入选“科学家+工程师”队伍!
  17. 百度地图地图及定位实现
  18. USB 协议 (五) 枚举
  19. Qt的基本控件——显示控件
  20. 算法:数据流中的中位数

热门文章

  1. Cororsync+Pacemaker
  2. Oracle表数据恢复
  3. 递推DP HDOJ 5459 Jesus Is Here
  4. UITextField中文搜索
  5. linux 查找目录或文件详解
  6. java 实现约瑟夫环
  7. SSLGET ×××综合实验题
  8. 清除Solution中的vss信息
  9. 开发人员拟在澳洲建立一座价值5000万美元的BCH科技园
  10. Node.js学习之路09——Path基本介绍