SUSE系统出现执行命令慢、卡死现象

本文主要分析了SUSE系统中执行命令出现延迟和卡死的原因,包括/var目录下的小文件过多导致inode耗尽、异常DNS解析服务器以及命令资源不足等问题,并提供了详细的检查和解决步骤,如清理邮递员目录、修改cron配置、检查resolv.conf和优化资源管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在执行命令时,出现命令行反应慢,等很长时间才打印命令结果,甚至出现卡死现象。


[场景一]  所有用户执行命令慢

[可能原因]:

--------------------------------

1.  /var/目录下小文件过多,inode耗尽,导致定时任务进程大量挂死。

[检查方法]:执行df -i 查看inode占用情况; ps -efl 查看进程。

    执行df -i 命令发现/var占用100%, 进一步排查发现是/var/spool/postfix/maildrop目录下存在大量小文件导致的。 

[原因分析]:由于linux在执行cron时,cron执行产生的output和warning信息,会以邮件形式发送给cron所有者,如果服务器关闭postfix服务,导致邮件发送不成功,就会全部以小文件存放在maildrop目录下。 如果sendmail或postfix正常运行,则会在/var/mail目录下也存放大量邮件 。

[解决方法]:1 . 检查/var/是否满,是否已经导致进程堆积

                       执行下面命令检查是否有大量进程存在:

ps -efl | grep cron

ps -elf | grep mail

ps -efl | grep post

ps -elf | grep send

使用如下命令kill掉这些进程

ps -elf | grep cron | grep -v grep | awk '{print $4}' | xargs kill -9

ps -elf | grep sendmail | grep -v grep | awk '{print $4}' | xargs kill -9

ps -elf | grep postdrop | grep -v grep | awk '{print $4}' | xargs kill -9

注意:在kill postdrop进程时,由于进程处于D状态,需等待一会儿此进程才会退出。


2. 删除文件

cd /var/spool/postfix/maildrop

pwd  # 确保已经进入/var/spool/postfix/maildrop目录

ls | xargs rm -n 10 -rf 


3.  修改mailto配置

使用vi 命令编辑文件 /etc/crontab和/var/spool/cron/tabs目录下的所有用户的cron配置文件(该目录下是所有用户 的定时任务,文件名就是用户名)。

将MAILTO=root替换成MAILTO="",如果没有MAILTO=root,在配置文件的第一行增加MAILTO=""


4. 重启定时任务

rccron restart  #不同的操作系统可能重启命令不一样,此处是suse,其他系统百度下


--------------------------------

2./etc/resolv.conf中存在异常域名解析服务器

[检查方法]:cat /etc/resolv.conf | grep -v "#"

检查nameserver配置是否为空


[解决方法]:如果不为空,可以将/etc/resolv.conf中的内容注释后再次重试。


--------------------------------

3. 命令资源不足

[检查方法]:执行top命令观察cpu、内在的使用情况

[解决方法]:如果找到大量占用资源的进程,就执行kill -9 PID将其杀死;

如果资源耗尽无法解决,建议尽快触发kdump重启板子。


[场景二]  单个用户执行命令慢
[可能原因]:1. 用户家目录下的.history文件过大

[检查方法]:cd到家目录下,执行ls -al检查.history文件大小

[解决方法]:如果文件过大,执行echo"" > .history

来清空文件

也可以做个定时任务,定期清理下这个文件。


[场景三]  用户执行某个命令时慢
常见现象1:执行df 命令止住或在某个nfs挂载目录下,执行ls卡死
可能原因:nfs client和nfs server之间网络断连,导致在client端执行df命令挂死或访问nfs挂载目录时挂死。

解决方法:执行cat /proc/mounts检查nfs的挂载点mount_point; 执行umount  mount_point。
--------------------------------

常见现象2:/var/spool/postfix/maildrop目录下有过多的小文件 
解决方法 参考 [场景一]  





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值