Linux 问题集
sophister opened this issue · comments
linux 磁盘空间满了
今天QA发现测试环境某台机器磁盘空间满了,让给清理下文件,于是网上查了之后,先看磁盘占用:
root@test# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda3 292G 5.5G 271G 100% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
/dev/vda1 190M 63M 118M 35% /boot
看到那个已使用 100%,再去根目录下,看下加哪个目录比较大:
du -sh /* | sort -nr
发现最大的目录,也就几个G,很奇怪为什么上面会显示已使用 100% ……
发现 这篇文章,里面也是类似的问题,
结论是“在Linux中,当我们使用rm在linux上删除了大文件,但是如果有进程打开了这个大文件,却没有关闭这个文件的句柄,那么linux内核还是不会释放这个文件的磁盘空间,最后造成磁盘空间占用100%,整个系统无法正常运行。这种情况下,通过df和du命令查找的磁盘空间,两者是无法匹配的,可能df显示磁盘100%,而du查找目录的磁盘容量占用却很小。
处理方法如下:
找出文件使用者,kill掉:
lsof -n | grep deleted
找到使用对应文件的进程,kill掉,然后再次df -h,发现已经没有100%的情况了
CentOS 添加新用户
使用的 CentOS 版本是 CentOS Linux release 8.1.1911 (Core)
cat /etc/redhat-release
# 新建test工作组
groupadd test
# 新建phpq用户并增加到test工作组
useradd -g test phpq
# 给phpq用户设置密码
passwd phpq