400 028 6601

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

云平台linux服务器问题场景分析思路及工具箱-创新互联

前言

本文主要结合笔者在苏宁云平台支撑工作中的实践,以基于经验切实有效的判定分析方式贯穿, 整理了云平台linux服务器(下文中区分了物理机及虚拟机)运维中的常见问题场景、分析工具箱及判别思路.主要包含以下三部分:

为明山等地区用户提供了全套网页设计制作服务,及明山网站建设行业解决方案。主营业务为成都网站建设、网站建设、明山网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

1、linux服务器CPU、IO、内存性能异常的常用工具、判定标准、以及分析思路

2、linux服务器异常宕机的故障可能的原因、定位方法与常规分析思路

3、linux服务器丢包的问题可能的原因、定位方法与常规分析思路

读者范围:中高级linux服务器运维人员

注:本文结合问题图景枚举了各个tool与分析关联较大的参数及用法,以起到一个示例说明,各工具的详细用法需要自行阅读研习man手册.

linux服务器CPU、IO、内存性能异常

cpu异常

云平台linux服务器问题场景分析思路及工具箱

图1  cpu 异常分解

top
top -H -d 1 -c
高亮列及运行进程 z x y
选择 shift+L/Rarrow
pidstat
每秒展示活动进程的cpu 使用率
pidstat -u 1
按线程组关系聚合展示cpu 消耗时间,帮助找出busy 线程
pidstat  -t 1 -T ALL
sar
iotop
iostat
nmon分析 nmonvisulizar

nmonvisulizar是来自于ibm 的nmon可视化分析工具

sysrq
开启开关
echo 1 > /proc/sys/kernel/sysrq
打印进程堆栈
echo t > /proc/sysrq-trigger
eg.如果已经softlockup 且业务影响已然明显,停业务后用下面命令产生一个vmcore
echo c > /proc/sysrq-trigger

strace

eg.

命令执行时挂起,了解进程挂在哪个syscall
strace cmd arg
进程系统调用开销较大,获取syscall统计
strace -p PID -c

gdb
用户进程的cpu消耗影响系统整体使用,配合debuginfo及代码可大致梳理出占用逻辑,attach后,进程会STOP
gdb -p PID

perf

perf top在线采样及展示

perf top -d1 -G -F 99 -z
shift + e 可展开堆栈视图
shift + c 可折叠堆栈视图

perf record/report

perf record -F 99 -a -g -p PID -C 6 sleep 5
perf report

内存异常

云平台linux服务器问题场景分析思路及工具箱

图2 内存异常分解

一般检查
free
cat /proc/self/status
cat /proc/self/smaps
numastat  -m
numactl --hardware
cat /proc/meminfo

zoneinfo
cat /proc/zoneinfo |egrep "zone|min|low|high|free|present"
....
Node 0, zone   Normal
  pages free     3195167
        min      13740
        low      17175
        high     20610
        present  3361280
    nr_free_pages 3195167
              high:  186
              high:  186

三条水线

sysctl -a|grep extra_free_kbytes min_free_kbytes extra_free_kbytes的组合值构成三个水线

物理页面情况
cat /proc/buddyinfo
Node 0, zone      DMA      2      2      1      1      1      0      1      0      1      1      3
Node 0, zone    DMA32    730    596    414    339    277    214    159    127     85     68    557
Node 0, zone   Normal    447    558    348    166     72     45   1021    888    607    252   2661

内核结构缓冲
slabtop 了解当前内核数据结构内存消耗

io异常

云平台linux服务器问题场景分析思路及工具箱    

图3 io 异常分解

io scheduler

cfq deadline noop

blktrace & blkparser

当意外的io 延迟发生,需要深入了解io延迟分布,需要使用blktrace & blkparser 工具进行细致分析

dd

学会合理使用oflag标志 sync 同步刷出数据 direct 绕过pagecache

fio

用来标定系统io能力的便捷工具

fio -filename=/dev/mapper/vg_os-testlv  -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=8k -size=100G -numjobs=96 -runtime=60 -group_reporting -name=mytest

du & df

面向块占用及文件系统占用的查询分析

strace可以看出两个命令原理的差异:df 读取文件系统信息,du stat 各个文件然后累加

两者出入较大需进一步考察:
是否存在空洞?
是否一个文件用户已经看不到但是文件系统还没有真正删除?(就是打开文件被删除的情况  lsof +L1)
是否被某些挂载点隐藏了之前的目录文件?
df 显示错误的话怀疑是否fs损坏?

网络异常场景

云平台linux服务器问题场景分析思路及工具箱

图4 网络异常分析

ethtool
ethtool -S
关注drop  error

tc统计检查
tc -s -d qd
关注包drop情况
ss netstat iftop
常用连接查看
netstat -ntp
netstat -ntpl
ss -ie
tcpdump

宕机场景分析

云平台linux服务器问题场景分析思路及工具箱

图5 宕机场景分析

dropwatch
crash工具
crash  vmcore  vmlinux
vmlinux 来自于kernel debuginfo包,是带调试信息的二进制内核镜像
如果系统未正确生成vmcore, 需检查 /etc/kdump.conf 配置及其中的设定vmcore 路径此处讨论已开始涉及内核态问题,常见异常分析领域不再展开

总结

本文场景化地总结了云平台几类常见的linux server异常分析思路及toolset, 篇幅所限无法面面俱到,但如开篇提到,真正的快速有效的问题判别定位离不开对系统领域的熟悉与细致缜密的判断,以场景化方式灵活地运用好工具箱,达到由表及里,由浅入深的理解系统,快速高效解决线上问题。 Havefun:)

关于作者

谢英豪  苏宁科技集团云平台中心高级工程师,长期耕耘于linux内核及操作系统的支撑领域,保障苏宁云环境线上海量 kvm server farm的稳定高效运行.

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章标题:云平台linux服务器问题场景分析思路及工具箱-创新互联
URL链接:http://mzwzsj.com/article/pjgje.html

其他资讯

让你的专属顾问为你服务