在经历了一次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/shmdu -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       vmlinuzlsof | 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)发布于 2014-09-15 17:43:51
在回答你最初的问题时:
“删除
/proc/kcore文件是否安全?或者是否有将其恢复为正常大小的解决方案。”
不,这不安全。好吧,我不想打赌如果你删除了它会发生什么!
procfs目录是/proc的挂载点(运行mount并查看输出,如下所示)
proc on /proc type proc (rw)procfs有点像黑魔法;它里面没有文件是真实的。它看起来像一个文件系统,行为像一个文件系统,而且是一个文件系统。而不是存储在磁盘(或其他地方)上的文件。
具体来说,/proc/kcore是一个文件,它直接映射到虚拟内存中的每个可用字节...我不是绝对清楚细节;128TB来自Linux分配可用于虚拟内存的64位中的47ish位。
(这里有关于128TB限制的讨论:https://unix.stackexchange.com/questions/116640/what-is-maximum-ram-supportable-by-linux )
不管怎样,抛开Linux的硬编码虚拟内存限制-我们在你的问题的上下文中理解的是:/proc/kcore是一个系统文件,由虚拟的procfs文件系统提供,而不是一个真正的文件。
不要删除;-)
更新: 2016-06-03
我在这里的回答一直在不断地被上调--所以我假设人们仍然在寻找/proc/kcore是什么的解释。
维基百科上有一篇很有帮助的文章,标题是Everything is a file,它提供了一些背景知识。如果你真的很好奇,那就看看Plan9操作系统吧。
希望我最初的回答能充分解释kcore本身。我猜测,阅读这个答案的人可能也对/proc中的其他文件感到好奇--所以这里有一些其他的“有趣”的例子。
/proc/sys/*是一种让用户(您)从内核(内核和相关驱动程序等)读取/写入细节的机制。r/w项目的一个很好的例子是"IP forwarding":读取:cat /proc/sys/net/ipv4/ip_forward (0熄灭,1开启)
写法:echo 1 > /proc/sys/net/ipv4/ip_forward
与kcore一样,这不是一个真正的文件。但它的行为就像一个。因此,当您向其写入数据时,实际上是在更改软件设置,而不是更改磁盘上的字节。
/proc/meminfo和/proc/cpuinfo是只读的。您可以从您自己的应用程序中cat或less它们,或fopen()。它们向您显示有关硬件(内存和中央处理器)的详细信息。/proc/[0-9]+实际上是在您的机器上运行的进程ID!这些都是迄今为止/proc最酷的特性。在它们里面,你会发现更多的假文件,比如cmdline,这些文件会告诉你使用了什么命令来启动进程。最后,还有其他一些“有趣的文件系统”的例子,比如/proc。仅举两个例子,purely in-memory和"user-space"。同样,这些(一般来说)不会消耗任何实际磁盘空间,尽管像df和ls这样的工具可能会报告实际文件大小。
发布于 2018-01-25 06:24:47
运行命令sudo rm /proc/kcore是完全安全的。它只会显示rm: cannot remove '/proc/kcore': Operation not permitted。
/proc中的所有文件实际上并不存在于您的硬盘上,因此无法删除它们。这些文件表示有关系统的信息。例如,当您执行ls /proc时,您将向内核请求系统上的进程列表。如果您运行ls -l /proc/22/exe,您将向内核询问进程号为22的可执行文件的文件路径。诸若此类。
发布于 2018-08-21 16:52:51
请检查您的日志文件空间。我删除了所有的错误日志和访问日志文件,我的网站正在运行。
使用此命令检查哪个文件夹占用了更多空间。
cd /
sudo du -sh * 2>/dev/null | sort -hhttps://stackoverflow.com/questions/21170795
复制相似问题