Linux服务器出现卡慢的基本解决方法

Linux服务器出现卡慢的基本解决方法,第1张

df -h

iostat -x 1(一秒刷新一次) ,执行iotop命令查看具体进程IO占用

free -g

(total used free)

htop

1、运行内存不足时会导致打开软件卡顿,建议您首先清理后台应用程序。您可以在调出最近任务栏界面,点击应用上的锁定/下拉应用卡片,您要保留的应用,避免被误清理。a、如果是支持虚拟导航的设备,建议您点击屏幕下方导航栏的“方块”图标,然后点击清理后台进程“删除”图标。b、如果是支持全屏手势导航的设备,您可以通过从屏幕底部边缘上滑并停顿,进入最近任务,点击清理后台进程。c、如果是支持前置导航键的设备,出厂时默认关闭导航栏,您可以左右滑动导航键显示最近使用的应用,然后点击“删除”图标清理后台进程。2、建议您使用手机管家的清理加速功能清理手机存储空间,并卸载不常用的应用,保持存储空间充足(20%以上)。3、建议您卸载手机中第三方手机管家类软件,避免多个管家类应用同时运行,造成冲突。4、建议您关闭省电模式(设置 >电池 >省电模式/超级省电),并保持电量充足(20%以上)。省电模式和低电量情况下,手机会降低性能以节省电量。5、请您检查手机是否发热,手机温度较高的情况下会触发高温保护,会降低手机性能。建议您适当降低屏幕亮度,关闭不使用或异常耗电应用与功能,如蓝牙,NFC等。6、建议您2~3天重启一次手机,重启能有效的清理缓存,缓解卡顿现象。7、可能是您的存储卡存储文件过多,读写速度慢,导致系统读取文件出现卡顿。建议您更换合格的存储卡。8、建议您及时进行手机系统更新,并将应用升级到最新版本。新版本会对一些已知问题进行优化提升。9、建议您尽量避免充电时使用手机,充电时手机会启动相应的安全保护措施(延长电池使用寿命、防止温度过高等),对手机性能会有一定的限制。10、请您提前备份重要数据,将手机恢复出厂设置后重试。11、如果问题仍然存在,请您备份好数据(微信/QQ等需单独备份)后携带购机凭证前往华为客户服务中心进行检测处理。

一、硬件问题

可以考虑分析以下几点:

1、不要超频CPU,如果已经超频的先回复到原来的频率

虽然平时运行没有问题,但可能在高负载的使用中就会出现不可预料的故障了。特别是linux系统在某些应用上,是可以把硬件的性能发挥到极限的,但这样的硬件运行Windows可能是没有问题的。

2、确认电源供电充足

必须确保在高负载的状态下,电源可以满足负载。

3、使用memtest86检查内存状态

4、恢复BIOS到默认状态

对于服务器,可以使用自带的监测工具进行测试,也是一个不错的排错方法。

二、软件问题

如果已经基本排除硬件问题,那我们就必须考虑从软件上去获得死机状态的系统信息了。

1、运气足够好的话,系统死机不一定是完全死掉(此时键盘可能还能响应),那我们就可以使用Sysrq大法。

前提是我们必须先打开sysrq功能:

#echo "1" >/proc/sys/kernel/sysrq

#setterm -blank

这样,当系统出现问题的时候,我们可以使用:

引用

Alt+Sysrq-T 获得进程系统堆栈信息

Alt+Sysrq-M 获得内存分配信息

Alt+Sysrq-W 获得当前寄存器信息

更多的热键可以参考系统上的/usr/src/linux/Documentaion/sysrq.txt

其中,setterm -blank可以关闭字符下定时黑屏保护,方便记录屏幕信息。

2、为了让屏幕显示更多的内核调试信息,可以修改控制台的显示模式为80x25,在/boot/grub/menu.lst中对应的kernel一行最后,增加vga=0x305,如:

引用

kernel /boot/vmlinuz-2.4.21-9.30AXsmp ro root=/LABEL=/1 vga=0x305

3、万一键盘也不幸死掉了,那我们只能采用串口方式,把系统信息发送到另一台系统上,方法:

修改/boot/grub/menu.lst文件,在kernel一行最后增加核心参数"console=ttyS0 console=tty1",如:

引用

kernel /boot/grub/vmlinuz-2.4.21-9.30AXsmp ro root=/LABEL=/1 console=ttyS0 console=tty1

然后,修改/etc/sysconfig/syslog,加入klogd选项"-c 7",如:

引用

KLOGD_OPTIONS="-x -c 7"

重启服务器;进行测试:

1)使用串口直连线连接客户机和服务器,在客户机上运行:

cat /dev/ttyS0

服务器上运行:

echo hi >/dev/ttyS0

如果客户机有"hi"输出即可。

2)服务器上运行:

echo w >/proc/sysrq-trigger

看看客户机上是否有相应的内核信息输出

3)服务器上运行:

modprobe loop

看看客户机上是否有相应的内核信息输出

如果测试都通过的话,那么在客户机上运行:

cat /dev/ttyS0 | tee /tmp/result

当死机出现的时候,我们就可以从客户机上看到需要的内核信息了(查看/tmp/result)。

三、总结

一般造成Linux系统死机的原因有:

系统硬件问题(SCSI卡,主板,RAID卡,HBA卡,网卡,硬盘等)

外围硬件问题(网络等)

软件问题(系统、应用软件)

驱动bug(找新的驱动)

核心系统bug(到LKML看看,或更换核心再试)

系统设置(恢复到缺省状态,关闭防火墙等)


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/414266.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存