/proc下的kcore文件过大,能变小吗?

iamlaosong文

今天服务器很慢,所以我在机器上搜大于800M的文件: find . -type f -size +800M
结果搜出了一个“大”文件:/proc/kcore,有18个G,赶紧找文档看,似乎这个文件/proc/kcore的大小就是机器的物理内存,就是系统内存的一个map,并不真正占物理内存那么大的硬盘空间。下面是查到的关于该文件的描述:

/proc/kcore is like an "alias" for the memory in your computer. Its
size is the same as the amount of RAM you have, and if you read it as
a file, the kernel does memory reads.

如果内核不能识别全部内存,即"ll /proc/kcore"(查看kcore的真实大小:du -h /proc/kcore)后显示的大小不等于实际的物理内存大小,可以用 cat /proc/meminfo 命令来校验.如果所显示的数量与系统的物理内存不同,则在 /boot/grub/grub.conf 文件中添加:
mem=xxM

==========================================

但是,我的服务器内存只有16G,为什么这个文件比内存还大,网上查了一下,还有多少T的,这还不是关键,关键是我另一台新服务器,同样的文件只有8192个字节,而这台机器的内存是64G。由此可见这个文件可能不占用存储设备空间,但其大小并不等于实际物理内存大小,而且其大小似乎和内存也没多大关系!!!

那么大看着总是不爽,那么这个文件怎么变小呢?

删除不行,拷贝覆盖也不行,没办法,用vi打开,删除内容再保存,只读文件当然不能保存,但是可以加“!”保存啊,保存后再看这个文件,只有4096个字节了。

文件变小后系统似乎没什么影响,重启后发现文件又变成原来的18G了。真没办法,呵呵。

后来又看了一篇关于这个文件的文章(点击打开链接),说是用hexdump命令查看一下就变小,一试果然如此,只是重启之后,一切都还原了,唉!

难道这个文件的大小和服务器的年龄有关,运行时间越长,文件越大?,在此留个记录,以便今后比较:

DL580G7(16G RAM): -r-------- 1 root root 18253611008 Nov 11 12:56 kcore

DL580G9(64G RAM): -r-------- 1 root root 8192 Nov 11 13:26 kcore

===================================================


  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值