V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
garlics
V2EX  ›  程序员

阿里云 2G 内存的服务器实际只有 1.65G?

  •  
  •   garlics · 2023-12-06 16:54:46 +08:00 · 4863 次点击
    这是一个创建于 387 天前的主题,其中的信息可能已经有所发展或是发生改变。

    买了个阿里云新老同享的 99 元服务器,是挺香的。但是发现内存缩水挺多,同样是 2G 内存的服务器,在腾讯云有 1.96G ,不知道为什么差别那么大。

    第 1 条附言  ·  2023-12-07 09:31:46 +08:00
    问了下阿里云的售后,说是操作系统占用的,没提 crashkernel ,我在系统里也没找到 crashkernel 。系统是 Ubuntu 22.04 64 位 UEFI 版。
    28 条回复    2023-12-07 18:17:29 +08:00
    ji76289
        1
    ji76289  
       2023-12-06 17:00:15 +08:00
    套路云是这样的。
    tudou1514
        2
    tudou1514  
       2023-12-06 17:10:33 +08:00
    把阿里云盾什么的都删除了
    mringg
        3
    mringg  
       2023-12-06 17:13:19 +08:00   ❤️ 1
    Aliyun 这块的内存损耗是都算到用户身上了,没给不足。这个也是一般虚拟化的策略,实际的内存小于分配的内存。但是,良心点的云计算可能会补足这块,看着好看些。。。。

    购买实例后查看内存大小,为什么和购买时的实例规格定义不一致?
    实例规格定义中的内存大小指所有可用内存,其中也包含了系统占用的部分,例如 BIOS 预留内存、内核运行、Hypervisor 运行的开销,因此您查看的实时可用内存会小于实例规格定义。不同系列产品所选择的技术栈可能存在差别,因此系统占用的内存比例也会有略微不同。
    opengps
        4
    opengps  
       2023-12-06 17:44:52 +08:00
    各种服务器我都见过,但没你说的这么少吧
    salmon5
        5
    salmon5  
       2023-12-06 17:55:14 +08:00
    4G 机器
    阿里云 3791m
    aws 3787m/3730m
    华为云 3788m
    fengci
        6
    fengci  
       2023-12-06 17:57:10 +08:00
    Buffer 和 Cache
    salmon5
        7
    salmon5  
       2023-12-06 18:00:33 +08:00
    阿里云 和机型有关,另外对企业用户来说,可以 POC 压测,我觉得(国内的云)阿里云是最货真价实的。
    xinmans
        8
    xinmans  
       2023-12-06 18:02:15 +08:00 via iPhone
    我的还好,1890M
    root@ecs:~# free -m
    total used free shared buff/cache available
    Mem: 1890 223 107 2 1558 1496
    Swap: 0 0 0
    root@ecs:~# date
    garlics
        9
    garlics  
    OP
       2023-12-06 18:03:48 +08:00
    @opengps 补一个图,不知道阿里云那么少是不是我选择 uefi Ubuntu 系统的原因 [![pic6icT.png]( https://z1.ax1x.com/2023/12/06/pic6icT.png)]( https://imgse.com/i/pic6icT)
    onice
        10
    onice  
       2023-12-06 18:10:45 +08:00
    操作系统会保留一部分内存。你使用 lsmem 命令查看。
    dimpleok
        11
    dimpleok  
       2023-12-06 18:28:34 +08:00
    可能是 crashkernel 用了一部分。
    lanyi96
        12
    lanyi96  
       2023-12-06 19:13:55 +08:00
    同 crashkernel 用了,专门提工单咨询过这个问题
    ztelliot
        13
    ztelliot  
       2023-12-06 19:15:49 +08:00
    是因为开了 crashkernel ,可以在 /etc/default/grub 里把 crashkernel 开头的删掉,然后 update-grub ,重启
    wzw
        14
    wzw  
       2023-12-06 19:25:37 +08:00
    @dimpleok @lanyi96 @ztelliot 系统很少崩溃了吧, 所以是不是可以考虑关闭 crashkernel?
    iomect
        15
    iomect  
       2023-12-06 19:26:19 +08:00
    我的 99 那个是 1725
    RoccoShi
        16
    RoccoShi  
       2023-12-06 19:38:25 +08:00
    重新 dd 一下系统试试
    Seanfuck
        17
    Seanfuck  
       2023-12-06 20:30:10 +08:00
    @salmon5 我厂的套路云 4G 只有 3581 ,居然差这么多。。。
    salmon5
        18
    salmon5  
       2023-12-06 21:27:54 +08:00
    @Seanfuck 机型的原因,阿里云 ecs.s6-c1m2.large 3645m/ecs.c5.large 3791m/ecs.c6.large 3647m/ecs.s6-c1m2.small 1756m
    815979670
        19
    815979670  
       2023-12-06 21:33:59 +08:00   ❤️ 3
    @mringg 怎么感觉好像云服务器的 "公摊面积"
    cdlnls
        20
    cdlnls  
       2023-12-06 21:49:17 +08:00
    可能和 crashkernel 配置有关,这个默认情况下机器内存越大,占用越多
    jiangzm
        21
    jiangzm  
       2023-12-06 21:54:28 +08:00
    换 ubuntu20 有 1890M
    JensenQian
        22
    JensenQian  
       2023-12-06 23:36:28 +08:00 via iPhone
    公摊内存
    BigShot404
        23
    BigShot404  
       2023-12-07 05:40:46 +08:00
    不加 swap 你更新个 mysql 都能嗝屁的程度
    Honkaiteio
        24
    Honkaiteio  
       2023-12-07 09:50:50 +08:00
    @garlics @cdlnls @wzw @onice
    和系统占用的 buff/cache ,和 crashkernel 确实都有关。
    op 的疑问确实应该和 crashkernel 更有关系。我拿 1g 的阿里云看了一下

    开启 crashkernel 时,total Mem 大概是 760Mi 多
    关闭 crashkernel 时,total Mem 是 899Mi
    free -h
    total used free shared buff/cache available
    Mem: 899Mi 567Mi 88Mi 2.6Mi 388Mi 331Mi
    buff/cache 是系统调度的,运行必要的

    顺便一提,系统是 debian 12 ,下面是 crashkernel 的默认配置
    crashkernel=0M-1G:0M,1G-4G:128M,4G-8G:192M,8G-128G:384M,128G-:512M
    lifei6671
        25
    lifei6671  
       2023-12-07 15:04:30 +08:00
    @815979670 和手机的运存一个道理,说给 2G ,其实包含了系统占用的一部分,实际用户可用的不到 2G 。😂
    815979670
        26
    815979670  
       2023-12-07 15:20:13 +08:00
    @lifei6671 感觉你说的是手机的 "硬盘",或许会因为计算方式不同,显示少一些。但内存没有这样的问题 显示多少就是多少
    amyw495062
        27
    amyw495062  
       2023-12-07 15:46:53 +08:00
    最搞笑的是我开了两台阿里云的轻量,同时同一个订单开的两台一模一样的,系统也装的一模一样,然后内存居然有一台少了 1M
    salmon5
        28
    salmon5  
       2023-12-07 18:17:29 +08:00
    dmidecode -t memory
    查看真实内存

    kdumpctl showmem
    查看 kdump 占用的内存

    grubby --update-kernel ALL --args crashkernel=0M
    重启关闭 kdump
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2692 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 12:43 · PVG 20:43 · LAX 04:43 · JFK 07:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.