linux服务器宕机分析/性能瓶颈分析
linux服务器宕机分析/性能瓶颈分析
服务器宕机原因很多,资源不足、应用、硬件、系统内核bug等,以下一个小例子
服务器宕机了,首先得知道服务器宕机的时间点,然后分析日志查找原因
1.last reboot 此命令可以查看主机起来的时间,不是宕机的时间
reboot system boot 2.4.21-27.ELsmp Mon Sep 16 02:28 (07:02) //这个是主机起来的时间
2.sar -u -f /var/log/sa/sa16 |more 查看历史cpu情况
01:10:00 AM all 12.18 0.00 3.90 36.97 46.95
01:20:00 AM all 25.21 0.00 2.39 24.43 47.96
01:30:00 AM all 3.72 0.00 4.03 44.92 47.32
01:40:00 AM all 1.65 0.00 2.45 47.59 48.31
01:50:00 AM all 31.85 0.00 2.86 18.03 47.26
02:00:00 AM all 48.40 0.00 2.01 2.46 47.13 //这里才是主机宕机的时间,要看宕机原因看着个时间点的日志
Average: all 10.77 0.00 2.00 14.76 72.47
02:28:07 AM LINUX RESTART
02:30:00 AM CPU %user %nice %system %iowait %idle
02:40:00 AM all 0.44 0.00 1.11 0.90 97.55
02:50:00 AM all 0.94 0.00 1.03 0.36 97.67
Sep 16 02:00:02 ilearndb snmpd[1138]: [smux_accept] accepted fd 11 from 10.0.1.145:46748
Sep 16 02:01:53 ilearndb modprobe: modprobe: Can't locate module eth2
Sep 16 02:01:53 ilearndb last message repeated 3 times
Sep 16 02:05:04 ilearndb snmpd[1138]: [smux_accept] accepted fd 11 from 10.0.1.145:46824 //系统里面看到2:05分还有日志,说明2:00的时候主机hang住了,sar已经取不了数据
在看sar的数据,发现(用到了swap,并且使用率在上升),是内存不足导致的主机hang住了。
# sar -r -f sa16|more
12:00:00 AM kbmemfree kbmemused %memused kbbuffers kbcached kbswpfree kbswpused %swpused kbswpcad
12:10:00 AM 27784 2027668 98.65 14012 1668488 7436568 411176 5.24 70372
12:20:00 AM 22880 2032572 98.89 15292 1673892 7436576 411168 5.24 70536
12:30:01 AM 22068 2033384 98.93 16280 1672976 7436576 411168 5.24 70536
12:40:00 AM 22848 2032604 98.89 17760 1671660 7436576 411168 5.24 70540
12:50:00 AM 23048 2032404 98.88 18744 1670228 7436576 411168 5.24 70580
01:00:00 AM 27328 2028124 98.67 19616 1664684 7436648 411096 5.24 70572
01:10:00 AM 18760 2036692 99.09 8424 1714120 7418172 429572 5.47 28584
01:20:00 AM 18584 2036868 99.10 14596 1731984 7413060 434684 5.54 17520
01:30:00 AM 22208 2033244 98.92 2436 1739972 7421352 426392 5.43 17520
01:40:00 AM 18448 2037004 99.10 3940 1742296 7421444 426300 5.43 17600
01:50:00 AM 17880 2037572 99.13 6480 1727696 7410060 437684 5.58 18028
02:00:00 AM 18124 2037328 99.12 10916 1718740 7408268 439476 5.60 17644
Average: 21663 2033789 98.95 12375 1699728 7425990 421754 5.37 45003
02:28:07 AM LINUX RESTART
02:30:00 AM kbmemfree kbmemused %memused kbbuffers kbcached kbswpfree kbswpused %swpused kbswpcad
02:40:00 AM 1517792 537660 26.16 27452 393360 7847744 0 0.00 0
02:50:00 AM 1337060 718392 34.95 29020 562108 7847744 0 0.00 0
03:00:00 AM 1330228 725224 35.28 30468 563964 7847744 0 0.00 0
03:10:00 AM 1218940 836512 40.70 31964 668272 7847744 0 0.00 0
03:20:00 AM 1218008 837444 40.74 33016 670572 7847744 0 0.00 0
03:30:00 AM 1208612 846840 41.20 34072 673436 7847744 0 0.00 0
03:40:00 AM 1200904 854548 41.57 34212 678896 7847744 0 0.00 0
03:50:00 AM 1201228 854224 41.56 35204 679216 7847744 0 0.00 0
可以考虑给主机增加1G内存。
附:性能瓶颈分析
CPU资源的过度使用,会造成系统中出现大量的等待进程,导致应用程序响应缓慢,而进程的大量增加又会导致系统内存资源的增加,当物理内存耗尽时,系统会使用虚拟内存,而虚拟内存的使用又会造成磁盘IO的增加并加大CPU的开销。
1、查看cpu是否是瓶颈
可以使用很多工具:topas、vmstat、sar、top(命令的使用网上有很多资料介绍)
目前大部分CPU在同一时间只能运行一个线程,超线程的处理器可以在同一时间处理多个线程,因此可以利用超线程特性提高系统性能。
在linux系统下只有运行SMP内核才能支持超线程,但是安装的CPu数量越多,从超线程获得的性能提升越少。
另外linux内核会将多核的处理器当做多个单独的CPU来识别,例如,两个4核的CPU会被当成8个单个CPU,从性能角度讲,两个4核的CPU整体性能要比8个单核CPU低25%-30%。
可能出现CPU瓶颈的应用有邮件服务器、动态web服务器等。
CPU物理个数 》cat /proc/cpuinfo |grep "physicalid" |sort |uniq |wc -l
查看cpu几核 》cat /proc/cpuinfo |grep"cores"|uniq
逻辑cpu个数 》cat /proc/cpuinfo|grep processor|wc –l
CPU型号查看 》dmidecode |grep -B5 -A5 -i cpu
vmstat 虚拟内存统计
例: vmstat 2 3
输出项的解释如下:
procs
memory
swap
io
system
CPU
好: user%+sys%<70%
坏: user%+sys%=85%
糟糕: user%+sys%>=90%
2、查看内存是否瓶颈
内存不足时,可以使用工具观察到频繁使用虚拟内存,虚拟内存可以缓解物理内存的不足,但是虚拟内存的过多占用会导致应用程序的性能明显下降。
服务器内存查看 》dmidecode |grep -B5 -A5 -i memory |grep Size
free命令
free是监控linux内存使用的指令。
free -m
total used free shared buffers cached
Mem: 48291 33630 14660 0 24 22437
-/+ buffers/cache: 11168 37122
Swap: 0 0 0
free -m表示查看以M为单位的内存使用情况,重点需要关注free列与cached列的输出值。
vmstat命令可以查看
好:SwapIn(si) = 0 SwapOut(so) = 0
坏:Per CPU with 10page/s
糟糕:more swap In & swap out
3. 磁盘IO性能
命令 iostat 可得到相应的数值
好:iowait%<20%
坏:iowait% = 35%
糟糕:iowait%>=50%
4.网络带宽
查询QLogic HBA卡 》lspci | grep -i Fibre
user%表示CPU处在用户模式下的时间百分比
sys%表示CPU处在系统模式下的时间百分比
iowait%表示CPU等待输入输出完成时间的百分比
swap in表示虚拟内存的页导入,从SWAP DISK交换到RAM
swap out表示虚拟内存的页导出,从RAM交换到SWAP DISK
个人总结:
总结论: 操作建议: |
|||||
序号 |
检查点 |
检查方法 |
判断依据 |
结果判断 |
|
1 |
系统的Uptime时间 |
uptime |
如果发现系统uptime时间很短,则需要检查系统是否重启过 |
||
2 |
检查文件系统的使用率 |
df -h |
对于OS的文件系统,如果发现使用率高于90%就应该再进一步检查是什么原因引起的文件系统使用率上涨。对于应用系统使用的文件系统,我们重点在于发现有没有文件系统使用率到达95%以上,若有,把情况报告给相关的人员。 |
||
3 |
检查网络状态 |
ping |
网络连通性检查 |
||
ifconfig |
检查当前处于up状态的网卡 |
||||
mii-tool |
link ok 显示各个网卡所接链路的状况 |
||||
ethtool eth[n] |
查看指定网卡所接链路的状况 |
||||
ls -al /etc/resolv.conf |
确保以上文件的权限是other可读 |
||||
cat /etc/hosts |
主机名在hosts文件中只应该与机器的物理IP映射,如果出现有机器的浮动IP与主机映射就需要做进一步检查 |
||||
netstat –rn |
正常情况下应该只设置了网关,而没有其它的静态路由,如果在列表中发现有其它的路由,则需要确认是否正确 |
||||
view /etc/sysconfig/network-scripts/ifcfg-eth* |
先检查子网掩码设置是否正确 |
||||
4 |
检查ntp时间服务器设置 |
ntpq -p |
正常情况下应该有如下输出信息: |
||
5 |
进程状态 |
ps –ef | grep defunct;ps -ef | wc -l;ps -ef | grep -v root | wc -l |
如果系统中存在大量的僵尸进程则属于异常的状态需要检查处理。如果只是个别进程就不需要处理。 |
||
6 |
内存状态 |
free -m |
检查内存使用情况 |
||
7 |
swap状态 |
swapon -s |
查看swap使用百分比 |
||
8 |
检查机器性能 |
vmstat |
CPU:如果cpu的id字段长时间<10,该机器的CPU负载比较高 |
||
9 |
检查磁盘性能 |
iostat |
检查iowait 时长是否过大? |
||
10 |
检查系统日志 |
view /var/log/messages |
可以通过检索error,fail,warn等字眼加快检查的速度 |
||
11 |
收集系统日志 |
sosreport -a --batch |
收集系统日志 |
||
12 |
收集硬件日志 |
DSET |
Dell PC Server :用DSET 工具收集硬件日志 |
0
分享
转载于:https://www.cnblogs.com/gaoyuechen/p/8595117.html
linux服务器宕机分析/性能瓶颈分析相关推荐
- linux服务器宕机原因排查,Linux服务器中网站数据库宕机的自动检测及重启脚本...
最近一段时间,Linux服务器中的一个重要网站的数据库总是奔溃,导致网站无法正常访问(显示为网站正在维护中),于是就决定写个脚本来自动监控这个网站是否正常,如果发现网站宕机,则自动重启数据库和网站. ...
- 从春运分析服务器宕机原因
春运,这一号称人类历史上规模最大的周期性人类大迁徙,2011年如期而至,在从1月19日开始为期40天左右的时间内,铁道部预计客流量将达28.5亿人次,快要把我国大众运个来回了.如此浩大的客流,造就了一 ...
- 网站服务器宕机怎么办,服务器宕机了该怎么办?
原标题:服务器宕机了该怎么办? 导读 如果Web服务器已经虚拟化,试着ping物理服务器自己的真实IP.这样可以帮助你进一步隔离问题.如果完全无法ping同服务器,而且也已经确定完全检查了网络连接,那 ...
- web网站服务器宕机应急,web服务器的宕机诊断方法
宕机诊断方法编辑步骤1:发生了什么事 系统管理员必须肩负起分析和判断Web服务器宕机原因的责任.需要解决如下的问题: 是否是断电,发电机测试以及其他类似问题影响了整体物理环境? 和Web服务器的通信是 ...
- 服务器宕机记录16.12.14
阿里云主机 16.12.14日11:37分宕机,第一时间收到短信,ssh远程远法登录,阿里云控制台,无法登录.查看CPU和内存,没有鸟用,只能重启. 11:40分,正常登录主机,查看messages ...
- 一次服务器宕机的排查记录
服务器宕机的排查记录 生产环境凌晨突然宕机,日志报错数据库链接超时 cpu.内存 磁盘 飙升 系统采用了springcloud 架构,通过阿里云的监控对比,发现仅仅一台服务器的宕机 分析日志发现,宕机 ...
- 恶人自有天收:如何能使僵尸网络Mirai的服务器宕机
作为恶名昭著的僵尸网络,Mirai攻陷了成千上万的物联网(IoT,Internet-Of-Things)设备,以这些设备作为节点发起大规模分布式拒绝服务攻击,破坏大量主流站点. Mirai的攻击浪潮在 ...
- 服务器占用cpu启动就死机,造成服务器宕机(死机)的原因和解决方法
原标题:造成服务器宕机(死机)的原因和解决方法 随着如今互联网信息化时代的不断发展,网络数据服务器.IDC数据存储和传输在各种网络科技面前也显得越来越重要,那么选择一款好用的服务器愈发重要.当然,不管 ...
- 从邮件服务器宕机谈企业邮箱选型之路
[文章摘要]据报道,美国当地时间3月13日17 点30分左右,Outlook和Hotmail的用户开始反映无法登录邮箱,直至美国时间14日早上7点,历时17小时,部分用户的这两项服务才恢复正常.对于个 ...
最新文章
- 在bootstrap ace样式框架上修改的后台管理型模板(Tab页后台管理模板)
- 用eclipse配置spket编写extjs代码方法
- css2列布局,左边div宽度固定,右边div宽度自适应
- oracle数据库异常---SP2-1503: 无法初始化 Oracle 调用界面 SP2-1503: 无法初始化 Oracle 问题的解决办法
- VB控件注册 - 利用资源文件将dll、ocx打包进exe文件
- 接口测试-jmeter
- No matching configuration of project :libusb was found.
- 30分钟学习掌握springmvc、SSM
- mac原版镜像下载 macos官方镜像下载
- Unity如何调用安卓手机摄像头实现拍照和录像
- CBoard框架使用总结一
- 100兆的网速在电脑上怎样测试软件,怎么测网速多少兆,360测网速
- 求长方形和正方形的面积
- 【问题整理】计算机相关
- [SSL_CHX][2021-8-18]条件输出4
- HDMI显示器为什么经常黑屏?有可能是HDMI线问题.
- python的培训学校
- 《哈利·波特:霍格沃茨之谜》推出二月支线任务“天界舞会”,带来新的选择、挑战与服装
- hadoop 任务运行到running job就卡住了 INFO mapreduce.Job: Running job: job_XXXXXXX
- 网络管理——直接网络管理规范
热门文章
- Java中获取 List中最后一个元素
- 什么是java本地方法?什么,还没听说过java的native关键字?真的该学学了!
- 7-19晚牛客网刷题未知点、错题 集合
- mysql set语句_不得不注意!那些容易被忽视的MySQL字符集问题?
- MATLAB观察系统响应,基于MATLAB的系统的时域响应分析精选.doc
- QQ会员2018春节红包抵扣券项目背后的故事
- 用Kotlin打造一个Router
- vue Iframe
- 《途客圈创业记:不疯魔,不成活》一一2.1 创新工场初印象
- 利用FluidMoveBehavior制作出手机通讯录平滑的效果