- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在经历了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
是只读的。您可以从您自己的应用程序中cat
或less
它们,或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/
在经历了DDOS攻击后,不知何故/proc/kcore非常巨大,我使用一个小的php类来检查当前的磁盘空间,以及已经使用了多少。 它显示以下内容: Total Disk Space: 39.2 GB
所以我从 ruby 移植了一个工具,可以在对象上定义回调 block ,我希望在设置回调的情况下调用它。所以基本上是这样的。 def set_block(&block) @new_kid_on
我定义了两个脚本:第一个脚本调用第二个脚本中的 proc。第二个脚本定义了一个命名空间 fooSpace , 定义了一个变量 fooValue内fooSpace , 并定义了一个过程 myProc内f
使用一个 proc 时,我的脚本工作正常(检索 sftp 提示)。但是当我尝试在 proc 中使用 proc 时,脚本卡住了,我不知道为什么。 请不要重构代码,这不是重点,我需要了解这里的问题。 工作
我想知道是否有一种方法可以识别某些proc文件中用于DMA映射的内存,例如mtrr和iomem,或者通过lspic -vv . 在我的/proc/mtrr中,只有一个无法缓存区域,它似乎几乎指向3.5
我有 2 个过程,它们一个接一个地调用。第一个过程使用 diff 功能并创建 file.txt。压缩文件后的过程。问题是当我运行脚本时,file.txt 是空的。当我注释掉压缩过程时,文件中打印了差异
我曾经认为 /proc/self 和 /proc/$$ 在 bash 终端中是一样的,但现在我发现它们是不同的。 我知道$$是当前进程的pid,/proc/self是当前运行的进程,应该是bash终端
在下面的程序中,我想在第 2 个过程中捕获数据包,而 ping 在第 1 个过程中运行。现在,如果我执行这个程序,proc 正在运行 ping 并退出它。有解决此问题的想法吗? 我的 TCL 代码:
在 proc 中,您可以获得 proc 名称(无需对其进行硬编码)吗?例如 proc my_proc { some_arg } { puts "entering proc [some way
我有一个自定义的 A10 存储库,我试图在其中创建一个能够读取 /proc/[pid]/some-file 的应用程序文件,例如stat和 status ,有点像 ps做。 看完这篇 answer很明
我是 TCL 的新人。我通过 Windows Vista 下的 DOS 窗口“tclsh85 FOD/Scripts/program1.tcl”执行 TCL 代码。 program1.tcl 包含“s
我想查看每个进程的精确内存量用作匿名页,因为匿名内存不能调出,因此精确跟踪此使用情况非常重要。 获取匿名页面总数的一种方法是读取/proc/meminfo AnonPages。 另一种方法是将 sma
在 Ruby 中,Proc.new { 'waffles' } 和 proc { 'waffles' } 之间有什么区别吗?我发现很少有人提到第二种语法。 使用 irb 进行测试,我没有发现任何明显的
我正在寻找有关Linux系统上/proc/net/nf_conntrack和/或/proc/net/ip_contrack文件内容的详细文档。 是的,我知道,有许多实用程序可以用人类可读的格式向我显示
而不是执行多个单独的 PROC FREQ一个非常大的数据集上的程序,我想通过执行单个 PROC FREQ 来提高效率与多个 TABLE声明。我们的 QA 流程需要表格标题,这很简单,只需一个 TABL
我想在 /proc/driver 下创建一个文件目录。我想使用像 proc_root_driver 这样的宏(或提供的其他东西)而不是明确使用“驱动程序/模块名称”。我用 create_proc_en
在 SQL Server 2005 中,我希望名为 LimitedUser 的用户只能运行一个过程: GRANT EXEC ON [usp_RunETL] TO [LimitedUser] 但是,该
考虑到以下两个过程: proc firstOne(): void = echo "X" proc secondOne(): void = echo "X" discard 它们
我想使用 PROC TABULATE 复制 PROC MEANS 的输出。原因是我希望将利润百分比(或利润率)作为 PROC MEANS 输出中的变量之一,但希望抑制一个或多个统计数据的计算,即会有一
我的目标是使数据适合具有正支持的任何分布。 (威 bool (2p)、 Gamma (2p)、帕累托 (2p)、对数正态 (2p)、指数 (1P))。第一次尝试,我使用了 proc univariat
我是一名优秀的程序员,十分优秀!