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

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

[可能原因]:

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

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目录下有过多的小文件 
解决方法 参考 [场景一]  


版权声明:本文为zhongru0072010原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/zhongru0072010/article/details/50668473