在经历DDOS攻击后,一些方式使得/proc/kcore
非常巨大。我使用一个小的php类来检查当前磁盘空间以及已使用了多少。
它显示如下:
Total Disk Space: 39.2 GB
Used Disk Space: 98 GB
Free Disk Space: 811.6 MB
我的问题是,删除/proc/kcore
文件是否安全?或者有没有办法将其大小恢复正常。
/proc/kcore
文件的文件大小为140.737.486.266.368字节。
我将我的服务器托管在DigitalOcean上。
如果需要更多信息,请询问;)
非常感谢!
编辑...
df -h
返回:
Filesystem Size Used Avail Use% Mounted on
/dev/vda 40G 37G 755M 99% /
udev 993M 12K 993M 1% /dev
tmpfs 401M 224K 401M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 1002M 0 1002M 0% /run/shm
du -shx
的返回结果为:
du -shx *
8.7M bin
27M boot
12K dev
6.3M etc
4.8M home
0 initrd.img
229M lib
4.0K lib64
16K lost+found
8.0K media
4.0K mnt
4.0K opt
du: cannot access `proc/3765/task/3765/fd/3': No such file or directory
du: cannot access `proc/3765/task/3765/fdinfo/3': No such file or directory
du: cannot access `proc/3765/fd/3': No such file or directory
du: cannot access `proc/3765/fdinfo/3': No such file or directory
0 proc
40K root
224K run
8.0M sbin
4.0K selinux
4.0K srv
0 sys
4.0K tmp
608M usr
506M var
0 vmlinuz
lsof | grep deleted
的结果:
mysqld 1356 mysql 4u REG 253,0 0 1835011 /tmp/ib4jBFkc (deleted)
mysqld 1356 mysql 5u REG 253,0 0 1835012 /tmp/ibcE99rr (deleted)
mysqld 1356 mysql 6u REG 253,0 0 1835013 /tmp/ibrxYEzG (deleted)
mysqld 1356 mysql 7u REG 253,0 0 1835014 /tmp/ibK95UJV (deleted)
mysqld 1356 mysql 11u REG 253,0 0 1835015 /tmp/iboOi8Ua (deleted)
nginx 30057 root 2w REG 253,0 0 789548 /var/log/nginx/error.log (deleted)
nginx 30057 root 5w REG 253,0 37730323404 268273 /etc/nginx/off (deleted)
nginx 30057 root 6w REG 253,0 0 789548 /var/log/nginx/error.log (deleted)
nginx 30058 www-data 2w REG 253,0 0 789548 /var/log/nginx/error.log (deleted)
nginx 30058 www-data 5w REG 253,0 37730323404 268273 /etc/nginx/off (deleted)
nginx 30058 www-data 6w REG 253,0 0 789548 /var/log/nginx/error.log (deleted)
nginx 30059 www-data 2w REG 253,0 0 789548 /var/log/nginx/error.log (deleted)
nginx 30059 www-data 5w REG 253,0 37730323404 268273 /etc/nginx/off (deleted)
nginx 30059 www-data 6w REG 253,0 0 789548 /var/log/nginx/error.log (deleted)
/proc
应该是一个虚拟文件系统,如果你在那里删除了某些内容,你不应该得到任何实际的磁盘空间... 运行df -h
命令查看实际已使用的磁盘空间。 - Wrikkenproc
中的某些内容并不能解决它(查看mount
的输出,它只是procfs
)。它也比你声称在kcore
中拥有的127TB要小得多。似乎还需要进行一些清理工作,但不是在/proc
目录下。我通常从根目录开始使用du -shx *
逐步深入大目录,查看哪些目录很大,然后再用另一个du -shx *
进一步查找真正的源头。顺便说一句:在DDOS之后,运行logrotate -f /etc/logrotate.conf
将日志轮换,以防止其被填满无意义的东西。 - Wrikkenlsof | grep deleted
?它会告诉你哪些已删除的文件仍然存在,以及哪个进程ID仍然与之有关。通常情况下,停止或重启该进程将清理这些inode。 - Wrikken/proc/kcore
文件过大的一种方法是重新启动计算机,这会立即将文件大小降至更小的级别。 - Raptor