gpt4 book ai didi

proc -/proc kcore 文件很大

转载 作者:行者123 更新时间:2023-12-03 07:39:09 28 4
gpt4 key购买 nike

在经历了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 删除:

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)

最佳答案

回答您原来的问题:

"Is it safe to delete the /proc/kcore file? Or is there a solutionon getting it to an normal size."

不,这不安全。好吧,我不想打赌如果你删除它会发生什么!

/proc 目录是 procfs 的挂载点(运行 mount 并查看如下输出:)

proc on /proc type proc (rw)

procfs 有点黑魔法;其中没有真实的文件。它看起来像一个文件系统,行为也像一个文件系统,而且就是一个文件系统。但不是存储在磁盘(或其他地方)上的。

/proc/kcore 具体来说是一个直接映射到虚拟内存中每个可用字节的文件......我不太清楚细节; 128TB 来自 Linux,分配了 64 位中的 47 位可用于虚拟内存。

(这里有关于 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/* 是用户(您)从 Linux 核心(内核和相关驱动程序等)读取/写入详细信息的机制。读/写项的一个可爱示例是“IP forwarding ”:

    读取: cat/proc/sys/net/ipv4/ip_forward(0 已关闭,1已开启)

    写入: echo 1 >/proc/sys/net/ipv4/ip_forward

    kcore一样,这不是一个真正的文件。但它的作用就像一个。因此,当您写入时,您实际上是在更改软件设置,而不是磁盘上的字节。

  • /proc/meminfo/proc/cpuinfo 是只读的。您可以从您自己的应用程序中catless它们,或fopen()。它们向您显示有关硬件(内存和 CPU)的详细信息。

  • /proc/[0-9]+ 实际上是在您的计算机上运行的进程 ID!这些是(恕我直言)迄今为止 /proc 最酷的功能。在其中您会发现更多假文件,例如 cmdline,它们告诉您使用什么命令来启动该进程。

最后还有一些“有趣的文件系统”的其他示例,例如 /proc。有purely in-memory"user-space"仅举两个例子。同样,这些(一般来说)不会消耗任何实际磁盘空间,尽管 df 和 ls 等工具可能会报告实际文件大小。

关于proc -/proc kcore 文件很大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21170795/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com