解决ubuntu经常性应用掉线并且xshell无法连接的问题
解决ubuntu经常性应用掉线并且xshell无法连接的问题
1.背景
自己搭建了个ubuntu服务器,上面部署了个hexo,发布一些简单的博客文章,但是发现啊,hexo经常掉线,排查问题的时候,xshell经常无法连接,于是不得不连接服务器进行本地调试。经过了多次排查,发现竟然是 /var/log目录满了造成的。
2.问题排查过程
2.1 排除网络问题
服务器是在拼多多上买的(通过外网映射来部署个人应用),服务器的配置很低,但是部署个人博客是够用了。前边出现了几次服务掉线的情况,偶尔出现xshell无法连接的问题,一直以为是网络问题,但是人家外网映射的页面是没有问题的,说明并不是网络问题。
2.1 排除内存和CPU过度占用问题
通过top、free 命令查看资源占用情况,服务器负载不高。
2.2 排除线程数不足
当前线程数:
最大线程数:
说明线程数并未超过限制。
2.3 按照经验,查看磁盘
通过使用df 命令查看整体磁盘占用情况,发现 /var/log 目录 已经 100%(刚才忘记截图了。。,没有保存满了的截图)。日志目录满了,造成日志无法写入日志文件syslog,操作无法完成,所以 xshell 无法连接并且hexo服务也退出了。
3.解决方案
既然找到了原因,那么就可以解决。
有两种方案:
将日志目录迁移到其他目录,然后进行软链;
创建定时任务,定时删除操作日志。
因为是个人博客,没有太多业务,对于系统日志的完整性要求不高,所以这里采用了定时删除系统日志的方式。
3.1 使用 crontab 创建定时任务
每50分钟,对日志文件进行一次清空处理。
*/50 * * * * echo ‘’ > /var/log/syslog
注意:如果没有安装crontab,请先执行 apt-get install cron 进行安装。
3.2 查看已经创建的定时任务
crontab -l
更多内容,请关注我的个人网站 爱秀逗www.5ixiudou.com,或者关注我的****博客,大家共同学习,共同进步。