V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
badgate
V2EX  ›  云计算

腾讯云轻量高负载就会卡死?

  •  
  •   badgate · 39 天前 · 6130 次点击
    这是一个创建于 39 天前的主题,其中的信息可能已经有所发展或是发生改变。

    刚买了的轻量云,只要内存超过了 93%左右,连接会断开,然后就 ssh 不进去系统了,然后腾讯云的管理面板上显示正常运行,监控也是能看到,但是就是死活进不去,只能重启。 这是我服务器中毒了吗还是腾讯云的问题?

    82 条回复    2024-11-26 14:06:09 +08:00
    qinqiuxu
        1
    qinqiuxu  
       39 天前
    我之前用 vscode 的 remote ssh 插件连接腾讯云轻量服务器,要是用久了服务器也会卡死,2C4G 的配置,回到控制台查看,发现内存几乎满了。连接到阿里云也会这样。
    cslive
        2
    cslive  
       39 天前
    会,运行个 node 一会就没有反应了,必须控制台重启
    tars13344
        3
    tars13344  
       39 天前
    我也有这个问题, 我这里是卡死之后在控制台上会看到系统 io 读 飚的很高... 必须得手动重启
    ponyfk
        4
    ponyfk  
       39 天前
    这好像不难理解,啊,无论是监控还是 ssh ,不都是常驻你的 cvm 里面的程序吗,没内存怎么玩呢
    justdoit123
        5
    justdoit123  
       39 天前
    轻量还是适合转发流量。重的任务,用自己的机器跑。
    tars13344
        6
    tars13344  
       39 天前
    @tars13344 我之前用阿里云 部署一样的东西 机器配置也基本一样 就没有这个问题...
    Etuloser
        7
    Etuloser  
       39 天前
    会 无解
    Configuration
        8
    Configuration  
       39 天前   ❤️ 1
    云服务器一般默认没有 swap ,你自己配一个 swap 再跟踪一下
    coolloves
        9
    coolloves  
       39 天前
    最好确认下,是不是你的带宽满了?
    我遇到过几次,都是带宽的问题,内存一般只会 oom,但是应该也不至于杀 ssh
    fengpan567
        10
    fengpan567  
       39 天前
    没碰到过,我一直挂着挖矿
    tencentcloud
        11
    tencentcloud  
       39 天前   ❤️ 2
    您好,根据您描述的情况,可能是服务器内存使用过高导致的问题,您可以先通过调整应用程序内存占用或升级内存配置等方式尝试解决,若尝试了后仍然无法解决问题,您可以提交腾讯云在线工单( https://cloud.tencent.com/online-service ),或将您的实例 ID 、腾讯云 UIN 通过([email protected]) 邮箱发送给我们,我们会协助您解决,感谢您对腾讯云支持与理解。
    NoDataNoBB
        12
    NoDataNoBB  
       39 天前
    一样,内存超了之后只能控制台重启
    xdeng
        13
    xdeng  
       39 天前
    腾讯云进驻了
    badgate
        14
    badgate  
    OP
       39 天前
    @Configuration #8 直接整 swap 分区吗?感觉系统要没
    badgate
        15
    badgate  
    OP
       39 天前
    @coolloves #9 控制台显示正常,而且我也没有什么大流量的应用,甚至很多都套了壳
    badgate
        16
    badgate  
    OP
       39 天前
    @NoDataNoBB #12 本来给的内存就虚。。92 3 多一点也不算超吧
    badgate
        17
    badgate  
    OP
       39 天前
    @qinqiuxu #1 没试过,我是正在敲命令,然后挂了
    cat
        18
    cat  
       39 天前
    两年前就骂过这个问题,同配置的阿里云 ECS 就不会这样
    只要 vscode remote ssh ,尤其搭配 npm run dev ,必挂,什么配置 swap 都没卵用
    qinqiuxu
        19
    qinqiuxu  
       39 天前
    @cat 我用 vscode remote ssh 连接阿里云也会容易让服务器崩溃,但是没腾讯云那么频繁和快,能多坚持一会儿。
    RangerWolf
        20
    RangerWolf  
       39 天前   ❤️ 3
    跟是不是轻量感觉没关系, 只要是云厂商的虚拟机,包括 AWS 的 EC2 ,也是这样的。内存满了就只能在外面重启,而且重启忒慢
    不太懂底层原理,求科普
    dpx
        21
    dpx  
       39 天前
    是不是虚拟机都有这类问题,以前想在 vm 虚拟机上运行 SW 设计软件,如果是实体机,2 ,3G 内存就打开程序了。
    在 VM 里,分配 4G 内存,打开程序一会就占满内存后卡死虚拟机,分 8G 内存,慢慢占满 8G 内存,卡死,分 16G 内存,一样占满后卡死。。。
    javalaw2010
        22
    javalaw2010  
       39 天前
    遇到过,docker build 高负载挂了,重启了大半天。
    rxmt
        23
    rxmt  
       39 天前
    21 年买的腾讯云 lighthouse ,2 核 4G-80G-1200G 。最近半年有同样的问题,但是前两年一直没出现过这种问题。ubuntu1804 升到了 2204 还是会卡,我用 vscode 连的,搞不清楚是服务器的问题还是 vscode 有点毛病
    opengps
        24
    opengps  
       39 天前
    高负载卡这是必然结果,在哪都差不多
    Lemon2ee
        25
    Lemon2ee  
       39 天前
    后台看看历史内存占用率吧,之前遇到过的这种机器在运行但是无响应的基本都是内存爆了
    cinhoo
        26
    cinhoo  
       39 天前
    阿里云也一样,加上 swap 文件就好了
    zzzmh
        27
    zzzmh  
       39 天前
    没遇到过,只在早期刚出这玩意的时候遇到过一次网络问题,ping10 次丢 5 次,提工单,换 ip ,就解决了。如果盲猜,我感觉在轻量下的同配置的性能应该是若于物理机的,这个没证据就是盲猜。
    yqs112358
        28
    yqs112358  
       39 天前
    docker build 同卡死过,现在都在自己电脑上 build 完再传上去了😂
    Y25tIGxpdmlk
        29
    Y25tIGxpdmlk  
       39 天前
    所以人家叫轻量
    encro
        30
    encro  
       39 天前
    是的,我 pdm install 一下都可以搞挂它。
    terryl2049
        31
    terryl2049  
       39 天前
    一样的问题,内存小,要加上 swap
    Danmen123
        32
    Danmen123  
       39 天前
    差不多,我自己的轻量云当时也是 90%内存占用,就自动杀了我的几个后台服务,后面就开始研究占用内存少的后端实现了
    weijancc
        33
    weijancc  
       39 天前 via iPhone
    我的阿里云也会
    virjay
        34
    virjay  
       39 天前
    就因为这个问题从阿里云换成了天翼云,提交工单也解决不了
    lloovve
        35
    lloovve  
       39 天前 via iPhone
    @Danmen123 有比较好的方案么
    Danmen123
        36
    Danmen123  
       39 天前   ❤️ 1
    @lloovve
    1. 更换技术栈。我之前的技术栈使用的是 springboot ,就一个空白的项目运行占用内存都很大。我后面换成了 ktor ,同样的功能内存占用只有 springboot 的一半大小。
    2. 把多个相同功能的服务合并成一个通用的服务
    lloovve
        37
    lloovve  
       39 天前 via iPhone
    @Danmen123 感谢,学习了
    rtu
        38
    rtu  
       39 天前
    还好吧,买了一台阿里云,一台腾讯云,整个 k8s 定时跑任务搜书源,还没挂过 https://imgur.com/a/HQAq4Bd
    wheat0r
        39
    wheat0r  
       39 天前
    内存小就开一个 zram 凑合着
    ddup
        40
    ddup  
       39 天前 via Android
    配置低了就是这样,物理机也一样,因为我们没再用过 1c1g 的物理机了,所以没感受以为虚拟机有问题
    KentonLee
        41
    KentonLee  
       39 天前
    io 过高也会卡死
    fy
        42
    fy  
       39 天前
    好像是内存占满了,疯狂刷 swap ,然后 io 暴涨并卡死,我真希望他自动把进程杀掉 可惜没有
    northbrunv
        43
    northbrunv  
       39 天前   ❤️ 1
    swap 前提是你硬盘读写够快啊。大厂 io 限制的比 sd 卡都慢还玩个锤子,150mb/s 不如二手 hdd 矿盘速度快
    国外商家但凡是用过一点配置不丐的,读写都是大几 g/s ,同样用 swap ,硬件素质差了十几倍二十几倍。。不卡才怪呢
    david98
        44
    david98  
       39 天前
    内存占满后 操作系统会通过杀死进程来缓解内存需求,可能会把 sshd 给杀了 所以你就连不上了
    cdlnls
        45
    cdlnls  
       38 天前 via Android   ❤️ 1
    大概率就是内存满了,加上又开了 swap ,满了之后压缩内存数据到 swap ,磁盘的读写特别慢,系统等待 io 就卡住了。

    在部署 k8s 集群时,需要关闭 swap 的,大概就是因为这个原因,在高内存占用的时候它可能会影响集群稳定。

    只要登录控制台看看,磁盘 iops 和吞吐是不是突然升高,就能判断是不是这个问题。

    要解决,要么加内存,要么给占内存的程序加内存闲置,来减少触发系统的内存压缩的频率。这里 node 是可以进行限制的。
    SenLief
        46
    SenLief  
       38 天前
    轻量云的问题
    Arispex
        47
    Arispex  
       38 天前 via iPhone
    会,可能是轻量性能太低的问题,阿里也一样,昨天用 2h 2g 的机器跑个 npm install 卡死了
    Frytea
        48
    Frytea  
       38 天前 via Android
    正常,资源不足引发资源竞争,轻量 qos 的厉害,负载高一点系统延迟就上来了
    tangping
        49
    tangping  
       38 天前
    阿里云也会出现这个问题,这个月出现了两次了
    cheng6563
        50
    cheng6563  
       38 天前
    Linux 的 OOM 反应非常慢,经常是白等半小时才开始杀进程
    所以还是得开 swap 并给 swappiness 设置一个非 0 的较小值
    zram 可以和硬盘 swap 一起使用
    anyilin
        51
    anyilin  
       38 天前
    @cheng6563 确实,比如阿里云默认的 vm.swappiness 是 0 ,改成 10 并加个小的 swap 就能有明显改善。
    Pteromyini
        52
    Pteromyini  
       38 天前
    @cat #18 这俩定位不一样,不是一个配置的,ECS 是独享实例,分给你多少你可以用多少,轻应用是共享实例,也就是一台 64 核母鸡的母鸡可以开出 640 台小鸡(简单举例),而每个人占用一台小鸡,使用公平共享使用原则,允许短时间突发高性能,不需要长期高性能占用,这是写在 ToS 的。大厂还好,小厂好多长期占用会直接关机删机封号
    cyningxu
        53
    cyningxu  
       38 天前 via Android
    云服务器默认没有 swap ,我之前也遇到过,加 swap 就好了。
    juzisang
        54
    juzisang  
       38 天前
    内存占满就会卡死,遇到过好几次
    cybernty
        55
    cybernty  
       38 天前
    可以考虑:
    1. zram (RAM-based swap)
    2. swap file (disk-based swap)

    - [Zram: RAM 'doubler' on Linux - blog.rymcg.tech]( https://blog.rymcg.tech/blog/linux/zram/)

    ---

    ---sh
    sudo pacman -S zram-generator
    cat <<EOF >/etc/systemd/zram-generator.conf
    [zram0]
    zram-size = min(ram, 8192)
    EOF
    ```

    ```sh
    fallocate -l 2G /swapfile
    chmod 600 /swapfile
    mkswap /swapfile
    swapon /swapfile

    sysctl vm.swappiness=60
    cat /proc/sys/vm/swappiness

    echo "/swapfile none swap defaults 0 0" >> /etc/fstab
    ```
    fugu37
        56
    fugu37  
       38 天前
    @rxmt 就是超售更严重了
    Byleth
        57
    Byleth  
       38 天前
    @qinqiuxu #1 一样,我也遇到了这个问题,不过我是 4C4G ,估计内存是瓶颈
    chinanala
        58
    chinanala  
       38 天前
    @Pteromyini 轻量机器也都是独享性能( CPU+内存+硬盘)可以长期 100%占用。不知道你在哪看到说是轻量服务器是共享实例呢?
    edisonwong
        59
    edisonwong  
       38 天前
    曾今我有一个 1c1g 的,偶尔凌晨会卡死只能控制台重启。排查了挺久了,后面装个 atop ,才发现,好像是 dnf 有个定期更新缓存的机制,瞬间内存打满》 cpu 打满,监控根本发现不了为啥
    JayZXu
        60
    JayZXu  
       38 天前
    要手动加 SWAP
    不然内存一满就卡死
    mouyase
        61
    mouyase  
       38 天前
    还有一种可能是硬盘写入太大,被锁死了
    Pteromyini
        62
    Pteromyini  
       38 天前
    @chinanala #58 也有可能是后端限制,前台节点显示允许 100%,实际使用性能就是相对差
    cybernty
        63
    cybernty  
       38 天前
    chinanala
        64
    chinanala  
       38 天前
    @Pteromyini #62 所以你说的“ECS 是独享实例,分给你多少你可以用多少,轻应用是共享实例...允许短时间突发高性能,不需要长期高性能占用,这是写在 ToS 的......”,这个依据是源自哪个大厂的产品文档呢?还是你个人的猜测呢?你说的这些特征指的是“共享类型的 VPS”,价格跟普通的 CVM/ECS/轻量不是一个价。
    Pteromyini
        65
    Pteromyini  
       38 天前
    @chinanala #64 ToS 这块确实是我记错了,应该是跟某些 VPS 记混了。不过我自己的测试轻应用使用体验轻应用比同级别 ECS 差不少,特别是 CPU 性能和 IO 性能,很像 VPS
    chinanala
        66
    chinanala  
       38 天前
    @Pteromyini #65 一般购买大厂的服务器都是在裸机上多开出来的,所以本质上很多台服务器共享一个母鸡性能配置。不过我测试了阿里云轻量和腾讯云轻量,都跟普通的 CVM/ECS (同 CPU 同配置) CPU 跑分和 IO 读写都差不多,腾讯云轻量甚至普遍都比 CVM 性能要好。我只是想辩证下很多人的固有偏见“认为轻量服务器就是阉割版服务器,性能差距很大”,实测并不是这样。
    CTd1DJnr6KlM
        67
    CTd1DJnr6KlM  
       38 天前
    笑死,10L 说自己挖矿下面就是腾讯云官方
    jiashuaibei
        68
    jiashuaibei  
       38 天前
    @qinqiuxu 这题我会,vscode 远程连接时候卡死了,经 top 查看,原来是一个叫 rg 的进程占用了近 90% 的 CPU 。
    此问题是因在你当前连接的工作区含有大量 symlinks ,而我习惯性将服务器根目录作为工作区目录,这里存在很多符号链接。
    解决方案也很简单,打开 VSCode 的设置,搜索 search.followSymlinks ,将 远程 和 工作区 的设置设为 False 即可。
    shitshit666
        69
    shitshit666  
       38 天前 via Android
    我也遇到过,开个 swap 就好了
    ZRS
        70
    ZRS  
       38 天前
    内存或者 CPU 被打爆了,经常遇到
    realpg
        71
    realpg  
       38 天前
    @Danmen123 #36
    你可以再换成 golang
    10K QPS API Server 就几百 MB 内存
    看着 2C4G 的服务器内存连 1G 都用不上,最后每个计算节点都开了个 redis cluster node 分配 3G 内存才舒服一点
    cooltechbs
        72
    cooltechbs  
       38 天前 via Android
    @cdlnls 真到内存满了的时候,有 swap 总还是比没有强。有 swap 只是新分配内存的进程慢,没有 swap 整个系统都会直接 hang 住,原因就是前面有人说的 Linux OOM killer 太烂
    cooltechbs
        73
    cooltechbs  
       38 天前 via Android
    @northbrunv 国外大厂的 IO 一样限制很死,AWS 普通的就 3K IOPS 加 100 多 M 的吞吐,谷歌微软也差不多,想要真•SSD 性能,得加钱
    中厂 DigitalOcean 这方面倒是蛮良心,IOPS 破万,吞吐量破 G ,而且这还是普通磁盘不是 Premium SSD...
    northbrunv
        74
    northbrunv  
       38 天前
    @cooltechbs #73 DigitalOcean 也不适合,过于传统了。一般来说,硬件越新的商家,会跑出越好的性能。比如 7950X 9950X 高频服务器,以及 Zen3 Zen4 EPYC 的服务器。4K 随机能跑出 200MB/s 以上算是比较好的了。顶级一点的能跑到 500MB/s-700MB/s ,696.04 MB/s (174.0k) 17 万 IOPS

    这些是共享的,用户 a 如果一直跑,邻居 b 可能会受到影响。问题是很少有人会持续跑满,滥用 io 性能,多数场景是突发的。但是传统厂商为了保证杜绝一丁点被滥用的可能性,全部都锁住很低的上限,不给跑高。
    再进一步可能就和超售程度有关了,多少人共享多少硬件。
    wanniwa
        75
    wanniwa  
       37 天前
    正常
    GuguDan
        76
    GuguDan  
       37 天前
    高 IO 也会卡死
    beimenjun
        77
    beimenjun  
       37 天前
    上一个 swap 解决 80% 问题。
    0xniceday
        78
    0xniceday  
       37 天前
    会的,跑个模型内存满了就卡死了
    qinqiuxu
        79
    qinqiuxu  
       37 天前
    @jiashuaibei 非常感谢,我试一下。
    winglight2016
        80
    winglight2016  
       37 天前
    腾讯云轻量容器我也买了后来还免费升级到 4C4G ,然而并无改进,依然是任务稍微重一点就会整机卡死,必须上网页端的控制面板去重启机器。我感觉是一分钱一分货吧,220 三年还要什么自行车。
    xdzhcs
        81
    xdzhcs  
       37 天前
    我也遇到了这个问题,内存高了就死了
    meters
        82
    meters  
       34 天前   ❤️ 1
    我遇到一样的问题,腾讯云轻量应用服务器:
    CPU - 2 核 内存 - 2GB
    系统盘 - SSD 云硬盘 50GB

    每次 Deploy 的时候,机器就会卡死。在 Claude 的帮助下,尝试了 Swap 的方案,目前运行很好:

    好的,让我来一步步指导你配置 Swap 。首先让我们检查当前系统的 Swap 状态:

    1. 首先检查当前 swap 状态:
    ```bash
    free -h
    swapon --show
    ```

    2. 创建 Swap 文件(根据你的内存是 2GB ,我建议创建 2GB 的 swap ):
    ```bash
    # 创建 2GB 的 swap 文件
    sudo fallocate -l 2G /swapfile

    # 如果 fallocate 命令不可用,可以用以下命令代替:
    # sudo dd if=/dev/zero of=/swapfile bs=1G count=2
    ```

    3. 设置正确的权限(这很重要,为了安全性):
    ```bash
    sudo chmod 600 /swapfile
    ```

    4. 设置 swap 格式:
    ```bash
    sudo mkswap /swapfile
    ```

    5. 启用 swap:
    ```bash
    sudo swapon /swapfile
    ```

    6. 使 swap 设置永久生效(系统重启后仍然生效):
    ```bash
    echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
    ```

    7. 调整 swappiness 值(决定系统使用 swap 的倾向):
    ```bash
    # 查看当前值
    cat /proc/sys/vm/swappiness

    # 设置新值( 60 是建议值)
    sudo sysctl vm.swappiness=60

    # 使设置永久生效
    echo 'vm.swappiness=60' | sudo tee -a /etc/sysctl.conf
    ```

    8. 验证 swap 是否配置成功:
    ```bash
    free -h
    swapon --show
    ```

    这样设置后,当内存使用接近上限时,系统会自动使用 swap 空间,减少系统卡死的可能性。

    要注意的是:
    1. Swap 空间会占用硬盘空间
    2. 过度使用 Swap 可能导致系统变慢
    3. 最好监控 Swap 的使用情况
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1100 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 18:53 · PVG 02:53 · LAX 10:53 · JFK 13:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.