zoukankan      html  css  js  c++  java
  • 遇到影响服务器性能的cpuspeed 服务

    最近碰到一个很蛋痛的问题,,我在公司的代码上实现了一个功能,然后基于这个测试,结果比对数据发现每天少三千多万条,,

    然后我各种优化,各种零碎部功能阉割,,还是丢数据!

    之后,监控运行网卡----watch -n 1 "ifconfig eth2",,,发现网卡丢数据!

    之后把修改之前的程序拿上来运行,发现网卡还丢!

     之后查看CPU的使用情况,top 

     

    发现有好多CPU被 cpuspeed 限速了,,,怀疑可能是我程序运行的时候选了一个不常用的CPU,而这个CPU可能就是1.2GHz,,影响了程序处理频率;

    查看CPU使用情况的方法:

    1,top;   可以用  ps aux |grep XXX    或者  pgrep XXX ,,找出你所要查找的进程号   之后    top -p 进程号 单独查看该进程的CPU 内存等使用情况;

            你可以用 ps -eLf |grep XXX 来查看程序运行所产生的线程情况;  也可以用 ps axms | grep XXX;

    2,mpstat;默认输出所有CPU使用情况的平均值,用 mpstat -P ALL  命令查看所有的CPU使用情况;

    3,ps;  使用ps命令,可以很清楚的看出到底是哪一条进程在吃CPU.排在前面的占用的CPU越多,  ps -eo pcpu,pid,user,args | sort -k 1 -r | head -20    显示占用CPU最多的20个进程;

    4,查看当前进程下参数CPU的使用情况,  cat /proc/cpuinfo ,罗列了所有CPU的使用情况,你也可以过滤里边的单独参数,比如查看所有CPU的频率,cat /proc/cpuinfo | grep -i MHz; 

    5,vmstat 一般脚本监控文件时,用他与awk 命令配合使用(未验证过)。

    发现上边这个情况后,马上联系甲方处理。

    处理方法: from:http://blog.sina.com.cn/s/blog_5f2ca1ed0101cz6f.html

    1.物理服务器BIOS做设置 关闭节能开启最大CPU资源使用
    做完该操作后,查看cpu主频仍然是1.2GHz
    2.chkconfig --list |grep cpuspeed 发现该服务1,2,3,4,5级别均开机启动
    关闭该服务,并关闭开机启动,解决该问题。

    另外,CPU性能可能也还会与   irqbalance服务 有关。

    可以点击文章: cpuspeed和irqbalance服务器的两大性能杀手     备注:之前那个链接不知道为啥点不过去,换了一个链接.

    补充:

    查看某一个进程内部当前运行的有多少线程,还有以下几个方法值得一用。

    1.根据进程号进行查询:

    # pstree -p 进程号

    # top -Hp 进程号

    2.根据进程名字进行查询:

    # pstree -p `ps -e | grep server | awk '{print $1}'`

    # pstree -p `ps -e | grep server | awk '{print $1}'` | wc -l

    这里利用了管道和命令替换,

    关于命令替换,我也是今天才了解,就是说用``括起来的命令会优先执行,然后以其输出作为其他命令的参数,

    上述就是用 ps -e | grep server | awk '{print $1}' 的输出(进程号),作为 pstree -p 的参数

    管道和命令替换的区别是:

    管道:管道符号"|"左边命令的输出作为右边命令的输入

    命令替换:将命令替换符"``"中命令的输出作为其他命令相应位置的参数

    文章内容来源:  功夫Panda 的     Linux下查看某个进程的线程数量.

  • 相关阅读:
    First duplicate value
    SQL学习笔记day1
    Find closest value in BST
    BST construction
    Closest sum_pair
    滑动窗口 sliding window
    设计模式(3)观察者模式
    设计模式(1)装饰模式总结
    深刻探讨public class=new class();
    与时间赛跑,我的2012
  • 原文地址:https://www.cnblogs.com/the-tops/p/6635890.html
Copyright © 2011-2022 走看看