no space on this device

当你在服务器上准备启动服务或者修改计划任务等操作的时候,如果有提示类似
no space on this device
那就表示没有空间的。简单来说。我们第一个想到的就是硬盘满了
这个时候,我们可以利用以下命令来查看硬盘占有情况
df -h
如果发现确实 / 目录 use% 是100%,那正常只能重启服务器来释放无效资源
如果无法释放,那只能清理无效的缓存和日志文件来释放空间资源

但是,如果没有100%,比如还剩20%,那就说明可能是inode资源用完了。具体可以使用以下命令来查阅inode资源
df -i
如发现确实/ 目录底下使用已达100%, 那首先需要先查阅目录的权限和资源占有情况
ls -al
前面有发现一个奇怪的目录以. 开头的。后面查了资料是sendmail发送错误日志堆叠的缓存文件夹。
rm -rf 【文件夹】
然后,再执行
df -i
发现inode资源完全释放了。
至此,inode资源耗尽问题已解决。总结一下。centos服务器,以centos8为例,当crontab计划任务频繁调度,比如10秒或20秒跑一次command,但是当command一直报错时,错误的告警就会通过sendmail发送通知服务器,而这部分缓存数据就会一直堆叠下来,占用inode资源。如不及时释放会造成资源耗尽的情况。

crontab -e 编辑计划任务的时候,需要在顶端加上mailto这句,如下所示
`MAILTO=””

          • script1.sh`

查看哪个目录占用空间大

Linux服务器如何查看磁盘使用空间以及哪个目录占用空间大_zhengTornado的博客-CSDN博客
https://blog.csdn.net/zhengTornado/article/details/103006941

du -sh *

获取当前系统占用内存最高的前10个进程

ps aux|head -1;ps aux|sort -rn -k4|head -10:与获取cpu的命令唯一区别在于把k3变为k4,来表示根据%MEM的数值进行由大到小的排序。

作者:邱存平  创建时间:2022-10-14 10:05
最后编辑:李世民  更新时间:2023-03-27 17:08