小樱 发表于 2021/1/28 00:44

Linux centos 7 vps服务器安装系统后预留的那个内存叫什么啊,2G只有1800M可用,关闭KDUMP功能

Linux centos 7 vps服务器安装系统后预留的那个内存叫什么啊,2G只有1800M可用,关闭KDUMP功能

安装后不是有个选项,默认是勾选的,就那个引起的。
安装时候不勾上就可以显示完整的2048M内存可用

通过安装虚拟机,,然后,就找到了,叫KDUMP


那么方法就有了,百度搜索如何关闭KDUMP就行了,不然如上图,分配1G,就只剩下800多M可用了

问题图如下


网上有些人说,ulimit -c 0不就好了,我想了下,感觉不对,这是是禁用错误报告吧。。控制输出core崩溃文件的大小值,而不是关闭KDUMP这个功能,内存是释放不出来的



好了,这里是真正的解决办法:
查看底层硬件信息,可以看到这台 2G 内存的服务器是分配足了 2048M 内存的。
可以看到输出信息被Reserving吞了161MB物理内存。
dmidecode |egrep "Maximum|Size"
        Runtime Size: 96 kB
        ROM Size: 64 kB
        Maximum Capacity: 2 GB
        Size: 2048 MB
        Maximum Voltage: Unknown
        Range Size: 2 GB
dmesg | grep -i memory
[    0.000000] Base memory trampoline at 99000 size 24576
[    0.000000] Reserving 161MB of memory at 688MB for crashkernel (System RAM: 2047MB)
[    0.000000] Early memory node ranges
[    0.000000] PM: Registered nosave memory:
[    0.000000] PM: Registered nosave memory:
[    0.000000] PM: Registered nosave memory:
[    0.000000] Memory: 1861024k/2097008k available (7664k kernel code, 392k absent, 235592k reserved, 6055k data, 1876k init)
[    0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
[    0.049787] Initializing cgroup subsys memory
[    0.362676] Freeing initrd memory: 18176k freed
[    0.383614] Non-volatile memory driver v1.3
[    0.383701] crash memory driver: version 1.1
[    0.406091] Freeing unused kernel memory: 1876k freed
[    0.407174] Freeing unused kernel memory: 516k freed
[    0.408306] Freeing unused kernel memory: 600k freed
[    0.918587] Zonekernel: Available graphics memory: 941110 kiB
停止并且关闭自启动
systemctl stop kdump.service;systemctl disable kdump.service
修改grub文件
将crashkernel=auto修改为crashkernel=0
vi /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="consoleblank=0 crashkernel=0 rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
生成配置并重启
重启前注意无其他正在进行的工作,以免造成数据丢失
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot
通过free -m验证,成功解决问题,内存从1838M提升到了1999M



centos 6同理,关闭自启动
chkconfig kdump off;service kdump stop
可能跳出提示Please reserve memory by passing "crashkernel=X@Y" parameter to the kernel
感觉忽略就行,然后修改引导文件重启就好
引导文件在这,将crashkernel=auto修改为crashkernel=0
vi /boot/grub/grub.conf
重启前489M内存可用,重启后还是489M可用,,,不对劲
查了下,,原来centos 6是8G或者以上内存,才会执行这个Reserving操作
并且内存消耗好像是在free -m里面不会降低最大可用大小,通过上面的dmesg | grep -i memory命令可以查到有没有Reserving信息

不可名 发表于 2021/1/30 01:10

{:3039:}

小樱 发表于 2024/11/27 21:08

centos9这个好像关不掉了?生成grub.cfg重启后依旧只有760M内存

页: [1]
查看完整版本: Linux centos 7 vps服务器安装系统后预留的那个内存叫什么啊,2G只有1800M可用,关闭KDUMP功能