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

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

之后,监控运行网卡----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下查看某个进程的线程数量.

遇到影响服务器性能的cpuspeed 服务的更多相关文章

  1. Linux服务器性能分析与优化

    影响服务器性能的因素: CPU :大部分cpu在同一时间只能运行一个线程,超线程的处理器可以在同一时间处理多个线程,因此可以利用超线程特性提高系统性能. 在linux系统下,只有运行SMP内核才能支持 ...

  2. 关于nagios监控远程服务器对服务器性能影响的测试

    1.    Nagios监视远程服务器时,是通过在控制端执行以下命令进行数据收集的: /usr/local/nagios/libexec/check_http -I 192.168.16.11 /us ...

  3. 如何用命令检查Linux服务器性能

    1.查看系统负载 (1)uptime 这个命令可以快速查看机器的负载情况. 在Linux系统中,这些数据表示等待CPU资源的进程和阻塞在不可中断IO进程(进程状态为D)的数量. 命令的输出,load ...

  4. ch6 影响 MySQLServer 性能的相关因素

    第6章影响 MySQLServer 性能的相关因素 前言: 大部分人都一致认为一个数据库应用系统(这里的数据库应用系统概指所有使用数据库的系统)的性能瓶颈最容易出现在数据的操作方面,而数据库应用系统的 ...

  5. 20个Linux服务器性能调优技巧

    Linux是一种开源操作系统,它支持各种硬件平台,Linux服务器全球知名,它和Windows之间最主要的差异在于,Linux服务器默认情况下一般不提供GUI(图形用户界面),而是命令行界面,它的主要 ...

  6. Linux服务器性能查看分析调优

    一 linux服务器性能查看 1.1 cpu性能查看 1.查看物理cpu个数: cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc ...

  7. 转贴---Linux服务器性能评估

    http://fuliang.iteye.com/blog/1024360 http://unixhelp.ed.ac.uk/CGI/man-cgi?vmstat ------------------ ...

  8. 影响HTTP性能的常见因素

    影响HTTP性能的常见因素 我们这里讨论HTTP性能是建立在一个最简单模型之上就是单台服务器的HTTP性能,当然对于大规模负载均衡集群也适用毕竟这种集群也是由多个HTTTP服务器的个体所组成.另外我们 ...

  9. 【转】linux服务器性能查看

    转载自https://blog.csdn.net/achenyuan/article/details/78974729 1.1 cpu性能查看 1.查看物理cpu个数: cat /proc/cpuin ...

随机推荐

  1. Double-Array Trie分词词典简述

    http://www.xuebuyuan.com/1991441.html 一.TRIE树简介(以下简称T树) TRIE树用于确定词条的快速检索,对于给定的一个字符串a1,a2,a3,…an,则采用T ...

  2. OpenGL ES3 非常好的系列文章

    OpenGL ES3 非常好的系列文章: OpenGL-ES 3.0学习指南(五)--EGL基础 NDK开发OpenGL ES 3.0(二)--初见GLES,第一个三角形 NDK开发OpenGL ES ...

  3. 恶性循环中的永生bug,可以说是相当写实了

    恶性循环中的永生bug,可以说是相当写实了

  4. Android 从 Android 本地图库选择多个图片

    原文地址 本文说明如何从 Android 本地图库选择多个图片.作者考虑很多解决方案. 演示从 Android 本地图库选择多个图片,有两个方法可以实现从图库中选择多个图片: 用 Intent 获取多 ...

  5. Swift语言精要 - Operator(运算符重载)

    运算符重载 Swift的这一语言特性或许应该启发于C++ class Vector2D { var x : Float = 0.0 var y : Float = 0.0 init (x : Floa ...

  6. 【linux】ubuntu中上下左右键变为^[[A^[[B^[[D^[[C问题处理

    问题现象: 使用上下左右键时,结果为 ^[[A^[[B^[[D^[[C,如图: 原因在于ubuntu系统自带的 vi 不完整导致. 解决方法:安装完整的vi $ sudo apt-get instal ...

  7. 【DB】部分MySQL操作记录

    工作中涉及到部分统计工作,恰好把之前的有些SQL再熟悉回顾一下. 一.涉及到时间统计部分: 求时间差: ), (SELECT CURDATE())) AS '试用时间'; ), (SELECT CUR ...

  8. Go语言类型转换库【github.com/demdxx/gocast】的用法

    一.导入库: go get github.com/demdxx/gocast 二.测试代码: // main.go package main import ( "fmt" &quo ...

  9. 通过wlst工具创建weblogic11g域单节点包括服务与被管服务

    1:创建域(1)节点一执行 export MV_HOME=/home/wzh/Oracle/Middleware export WL_HOME=$MV_HOME/wlserver_10. export ...

  10. hive中简单介绍分区表(partition table)——动态分区(dynamic partition)、静态分区(static partition)

    一.基本概念 hive中分区表分为:范围分区.列表分区.hash分区.混合分区等. 分区列:分区列不是表中的一个实际的字段,而是一个或者多个伪列.翻译一下是:“在表的数据文件中实际上并不保存分区列的信 ...