Linux用户进程是如何释放内存的
如果内存够,进程不去主动回收,内存是不会释放的Linux系统的缓存机制是相当先进的,他会针对dentry(用于VFS,加速文件路径名到inode的转换)、BufferCache(针对磁盘块的读写)和PageCache(针对文件inode的读写)进行缓存操作。
但是在进行了大量文件操作之后,缓存会把内存资源基本用光。但实际上我们文件操作已经完成,这部分缓存已经用不到了。
linux服务器磁盘满了怎么办
1、遇到磁盘空间不足的报错时候,首先使用df -h查看磁盘空间使用情况,找到空间达到100%的目录磁盘。
2、进入该目录,查找磁盘空间中的大文件,使用命令du -sh *查找占用空间大的目录,通过逐层定位,最后找到具体的文件。
3、如果是久远的log文件,一般是用不到的,可根据自己的情况删除,通过下述命令删除该文件夹下指定天数之前的文件:
find . -mtime +5 -type f -name "*" -exec rm -f {} \;
完成上述操作后,可释放掉部分存储空间。
4、除了磁盘空间除了文件占用之外,还有一种情况,当磁盘空间满了之后,我们无法查找到大文件,此时可能是文件可能已经被删掉,但有进程依然在使用它。在进程运行期间,Linux 不会释放该文件的存储空间。
5、此时适用命令lsof | lsof | grep deleted 查找到占用的进程,直接停止进程或者kill掉就可以释放空间(注:如果不是生产环境,重启操作系统,空间也会释放)