找回缺失的内存

一、起因

今年四月份买了个阿里2H2G99一年的云服务器,到手查看发现2G内存实测只有1.71G,觉得很奇怪,问客服说是系统占用了(别人家的服务器系统难道不占用吗?我在隔壁跑路云买的2G都能检测出1.9G)

ly57ncc7.png
并且提供了官方的内存大小查询方式

dmidecode -t memory | grep Size: | grep -v "No Module Installed"

ly57qkt8.png
两种查询方式对比
ly57uwnf.png
奇了怪了,怎么会这样?奈何百度上搜不到任何关于阿里云内存的问题,只能认为是阿里云把虚拟化的内存损耗让用户承担了(乱猜的)

二、意外发现

直到昨天闲来无事,在bing搜了一下,找到了一个帖子 https://www.v2ex.com/t/998120 ,本身对linux就不熟悉,第一次听说crashkernel这个玩意会占用一部分内存,那就关掉它好了(本身就低配内存都不够用了还要什么kdump)

三、回来吧,丢失的内存

先来看一下crashkernel是在哪配置的(我用的是Ubuntu22,其他的系统类似) ssh上服务器,cat /etc/default/grub查看内容(以去除无效的注释部分)

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=1
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=" vga=792 console=tty0 console=ttyS0,115200n8 net.ifnames=0 noibrs iommu=pt crashkernel=0M-1G:0M,1G-4G:192M,4G-128G:384M,128G-:512M nvme_core.io_timeout=4294967295 nvme_core.admin_timeout=4294967295"

其中GRUB_CMDLINE_LINUX中的crashkernel就是控制大小的,可以看到阿里云此处是根据物理内存大小分级设置的,我们可以直接将0M-1G:0M,1G-4G:192M,4G-128G:384M,128G-:512M替换为 使用vim编辑一下此文件,按以上修改并保存

sudo vi /etc/default/grub

执行命令使修改生效

grub-mkconfig -o /boot/grub/grub.cfg

reboot重启服务器,缺失的内存回来了(错怪阿里云了,虽然但是也只能识别到1.882G,但好在够便宜且不是轻量服)

ly58lvsn.png

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇