磁盘满

1、邮件服务器251,不能发送 。磁盘满,  clamav  日志大占用了空间

解决: service clamav-freshclam stop

删除日志

rm -rf /var/log/clamav/freshclam.log

2、文件服务器file01(ip248),

cd /

du -h --max-depth=1

find / -size +5000

sudo find / -type f -size +1024000k -exec du -h {} \;

Linux 系统空间满,常见的原因包括:

https://bbs.aliyun.com/read/252526.html?spm=5176.bbsl229.0.0.Y2VqwZ 
(1)分区容量满; 
(2)分区inode耗尽; 
(3)僵尸文件:已删除文件因句柄被占用未释放导致相应空间未释放。 
1、分区容量满——空间使用分析 
查看空间使用情况 :# df -hT
使用如下指令逐层分析各目录的空间占用情况:

du -m --max-depth=1 |sort -gr
逐层进入空间占用最高的目录,继续执行上述指令,逐步定位占用过高空间的文件或目录,然后进行相应清理。 
2、inode容量满——inode使用分析 
查看inode使用情况:# df -i
分析inode使用情况:for i in /*; do echo $i; find $i | wc -l; done
逐层进入inode占用最高的目录,继续执行上述指令,逐步定位占用过高空间的文件或目录,然后进行相应清理。
3、僵尸文件分析 
查看已经删除,但是句柄未被释放的文件僵尸文件及其空间占用情况:

#for i in `lsof | grep delete | awk -F" "‘{print $9}‘` ;do du -h $i;done | sort -gr
查找上述僵尸文件归属进程ID :

for i in `lsof | grep delete | awk -F" "‘{print $9}‘` ;do du -h $i;done | sort -gr
查看相应的进程信息,重启相应进程后,就能释放相应句柄,释放被占用的空间。

1、linux内存机制

linux的内存管理和windows不同,linux的内存分配原则是优先使用物理内存,只有在物理内存满足不了需要时,才进行物理内存和虚拟内存的交换;windows则是根据一定的比例进行虚拟内存和物理内存的交换;因此,linux系统的物理内存使用量是不断增减,直到95%以上才会稳定,其实是linux为提高系统性内进行的物理内存使用优化,这样能够提高物理内存使用率,提高性能。 如果你的进程关闭,linux系统也不会马上释放内存,等到其他进程请求内存而且物理内存不足时才去释放。 这里linux的内存管理机制。

cat /proc/meminfo

ip

单独查看内存使用情况的命令:free -m
查看内存及cpu使用情况的命令:top
htop工具,更直观,
安装命令如下:sudo apt-get install htop
安装完后,直接输入命令:htop
就可以看到内存或cpu的使用情况了。

查看服务器上插了几个内存条,还有几个插槽是空着的

命令:dmidecode。

最常用的选项就是用 -t 或者 --type 来限定关键字:

bios, system, baseboard, chassis, processor, memory, cache, connector, slot

关键字可以百度, 或者去看man手册页

memory的检测


手动释放ubuntu内存 

sync

echo 3 > /proc/sys/vm/drop_caches

时间: 2024-10-18 15:25:11

磁盘满的相关文章

阿里云ECS(linux)磁盘满触发的mysql的表异常修复案例

阿里云ECS(linux)磁盘满触发的mysql的表异常修复案例 阿里云技术支持:完颜镇江 问题现象: 磁盘空间满了,第一想到的就是删除无用的服务日志或者升级数据盘. 通常是使用du –sh去分析目录找出占用最大的. 根据经验来说基本都是日志文件占用的,那么就是停止应用清理日志,或者清理日志后重启应用即可. 但是本实例的异常是网站主页正常,但是子导航的内容为空,首先怀疑的就是磁盘满了导致mysql数据库的数据异常. 问题排查: 排查的方法是打开mysql的errlog 添加以下配置重启mysql

crfclust.bdb占用巨大空间导致磁盘满

crfclust.bdb占用巨大空间导致磁盘满 问题分析: 一上班就接到用户现场电话说有一套RAC数据库无法访问,随即登陆上去首先查看了磁盘空间,发现两个节点的/DBSoft目录已满,首先怀疑的是告警日志文件和$ORACLE_HOME/dbs 产生的归档日志文件没有删导致,经过检查后事实否认了我的判断. 随即想到的是CHM(ClusterHealth Monitor)服务未关导致crf文件无限增长导致磁盘空间占满,随即进入crf目录检查$ORACLE_HOME/crf/db:一看果然是crf文件

mac磁盘满解决方案

背景 : 用mac电脑的人,估计都不习惯去关机吧.mac虽然可以不需要关闭电脑,但是久而久之由于应用软件占用产生缓存文件 or 产生虚拟内容交换文件 or 睡眠镜像文件 and so on. 会占用大量空间.小编今晚很不幸,mac磁盘爆满.于是,想到了删除无用文件,删除下载的文件,卸载不常用软件.折腾了大半天,腾出了7G空间.高兴之余,观看了羽毛球男双比赛. 电脑时不时发出呻吟,后来渐渐发骚了,不小心会被烫伤~~看完比赛,发现麻蛋,磁盘只剩下1G可用了.马上关机,重启后,大吃一惊,发现默秒其妙多

解决docker数据文件过大导致根磁盘满的问题

背景: 最近在线上使用的docker主机发现根目录容量快满了,一番查找,发现是docker的data文件过大了.     我们知道docker数据默认是存放在/var/lib/docker下的,我们可以在启动时用-g --graph=""参数,把数据目录更改到其他容量大的地方去.但是对于在使用中的docker来说,直接修改这个目录路径,会导致镜像和容器都丢失了,所以修改参数这个方法适用于初始化docker的时候使用. 对于又想解决根分区容量满,又不想更改数据存储路径的我来说,我不想更改

linux磁盘满时,如何定位并删除文件

@1.一般情况 一般情况下先df看一下,然后cd到要满的盘,执行: du -shx * 这样可以列出所有文件夹的大小(x参数会去除掉mount上去的目录,如samba挂上去的盘,这会干扰统计的) 进去如果有子文件夹,那就继续执行du -shx * 一级一级地找 @2.特殊情况(有文件被删除,却被某进程占用,并且还在写) 这种情况的表现是,用1中的方法无法找到占用磁盘的文件,而且du -shx整个盘得到的结果和df的结果差别很大,那肯定是有文件被删除,但被进程占用,而且还在写.这样的被删除文件仍然

服务器磁盘满无法释放空间解析及解决

硬盘显示被写满,但是用du -sh /*查看时占用硬盘空间之和还远小于硬盘大小 使用df -h查看,磁盘空间确实是满的,即找不到硬盘分区是怎么被写满的. 了解前因后果后,得知,这台WEB服务器的日志文件被删除了,目的是想清除日志文件占用的大量磁盘空间,但是当文件在一直被 写入的这个过程中,我们是无法彻底的删除的. 因此产生了这样的一个问题,下面我来模拟一下: [[email protected] test]# dd if=/dev/zero of=/dev/sdc bs=10M count=10

Linux 系统磁盘满处理方法

1.使用find命令,找出占用空间较大的文件 find / -type f -size +5G   —找到大于5G的文件,有work权限的情况下可以使用 find . -type f -size +10000k   --linux 下查找大于10M的文件 find -type f -size +500k -and -size -1000k  --查找大小为500KB到1000KB之间的文件:   2.使用du命令 du -h --max-depth=1 /home/work/elongorder

磁盘满导致mysql死锁

今天遇到一个问题,因为mysql所在机器的磁盘满了导致mysql死锁,连查询select都不行,要不是看mysql日志,还真找不到原因. 通过show processlist能看到第一条是个update语句,需要写入数据,因为磁盘满了,写入不了,导致mysql死锁. 查看mysql日志可以发现有告警日志:"[Warning] Disk is full writing './mysql-bin.000123' (Errcode: 28). Waiting for someone to free s

一次磁盘满的系统故障

大清早的就接到监控报警,,提示php进程挂掉了...果断登录到服务器上面查看,发现内存不足4G..果断认为是内存不足引起的,,top了一下,,发现了一个download.php进程占用内存过高,,kill掉,,发现内存降下来了,,暗喜.. 结果此时load直线上升,,外网流量报警..检查nginx连接数过高,,感觉是不是被攻击了,,果断查看message日志,,发现vim提示无法写入到.viminfo..删除.viminfo再打开message日志仍然相同错误.. message日志里面也没有看