2022
我们一起努力

rocketmq怎么搭建服务器,云服务器如何重启

今天遇到了roketmq没有内存的问题,报错信息:RocketMQ报错:service not available now, maybe disk full

,连接云服务器,发现没有了空间,(没有截图),图中标红的那行,已使用100%

最终是百度搜索如何清理c盘,但是最终没有解决,最后没办法,重启了下云主机,重新启动后,解决问题。

以下是具体的过程。

1、首先通过排查那个文件夹占用得多,但是看不到文件

df -h 查看磁盘占用量

直接使用du命令 du -h –max-depth=1 查看根目录哪个目录占用磁盘空间最大就行了

在我的服务器上,显示有一个文件夹/var占用47g,(一共50g),但是还是不知道那些文件的问题,继续排查

对于/var中那个文件比较大,仍然没法排查,后来又查找到使用该命令(find / -xdev -size +100M -exec ls -l {} ;),可以查询大于100M的大文件,然后可以从返回值里面找到大文件所在目录,最终也没找到太多,删除一些比较大的日志文件后,再次验证。

删除完成后,再次使用df -h去查询,容量使用率99%,这说明已经没有太大的文件占用导致服务器硬盘不足。这个时候,想到了可能是文件没有释放掉,因此,继续搜索。

看到<Linux 离奇磁盘爆满解决办法>这篇文章,这个时候,看到了搜索删除文件问题,就是下面的描述。

对于遇到df 和du结果不一致的情况,基本断定是文件虽然删除了,但是文件句柄仍然被持有,因此磁盘空间未释放,可以使用lsof命令( list open files)查看

查看根目录打开的文件,搜索删除的文件 lsof -n / |grep deleted (这里/是根目录)

在我的服务器上,lsof -n / |grep deleted执行后,看到很多和sendmail和postdrop进程有关的信息(当时因为使用的连接服务器工具的问题,没有保存记录,没法截取当时的图片了)

然后搜索和这两个进程相关的信息。ps -ef|grep "/usr/sbin/s

endmail"|grep -v grep |awk '{print $2}'|xargs kill使用这个命令,删除了sendmail的进程,但是没有打印出进程号,

rocketmq怎么搭建服务器,云服务器如何重启

最终进程杀掉了,文件还是占用,没有办法,考虑重启下机器试试,最终果然有效

总结:

1、三个命令

在搜索过程中,参考信息中看到 ,如何记忆du df lsof这3个命令

du ->Disk Usage

df ->Disk Free

lsof ->list open files

2、需要找到问题的根源。首先消息中间件报错,是因为没有磁盘空间了(占用100%),磁盘离奇爆满,是因为进程导致一些文件没有彻底删除掉,最终重启才解决。

3、本次没有考究,为什么会出现定时任务会出现占满进程,为什么会占满磁盘?有知道的小伙伴,能给提供些定时任务方面的知识,本人是后台,运维懂得渣渣,那点知识全来自百度。

参考信息:

赞(0)
文章名称:《rocketmq怎么搭建服务器,云服务器如何重启》
文章链接:https://www.fzvps.com/49310.html
本站文章来源于互联网,如有侵权,请联系管理删除,本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
图片版权归属各自创作者所有,图片水印出于防止被无耻之徒盗取劳动成果的目的。

评论 抢沙发

评论前必须登录!