Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Mark3K
V2EX  ›  Linux

求问 怎么让 Linux hung 住几分钟?

  •  
  •   Mark3K · Jul 30, 2020 · 6076 views
    This topic created in 2122 days ago, the information mentioned may be changed or developed.

    如题,并且不会导致系统重启

    45 replies    2020-08-01 21:49:34 +08:00
    xcstream
        1
    xcstream  
       Jul 30, 2020   ❤️ 5
    虚拟机暂停按钮
    d0m2o08
        2
    d0m2o08  
       Jul 30, 2020   ❤️ 1
    挂载一块 nfs,并且在没断开连接还有 IO 的时候,把 nfs 的服务停了 负载会瞬间飙升😂
    pluszone
        3
    pluszone  
       Jul 30, 2020
    系统负优化?
    reus
        4
    reus  
       Jul 30, 2020
    改 cpu 频率,制造块设备错误
    Tink
        5
    Tink  
    PRO
       Jul 30, 2020   ❤️ 1
    2 楼正解,或者挂一个 samba,然后 copy 一个大文件,这时候把 samba 服务端下线
    rdZZZ
        6
    rdZZZ  
       Jul 30, 2020
    @xcstream 你他娘的还真是个天才🐶
    sazima
        7
    sazima  
       Jul 30, 2020
    chrome 开一百个 tab
    Mark3K
        8
    Mark3K  
    OP
       Jul 30, 2020
    @pluszone 主要是想复现问题
    Mark3K
        9
    Mark3K  
    OP
       Jul 30, 2020
    大家有什么稳定的代码实现方式吗?
    vk42
        10
    vk42  
       Jul 30, 2020   ❤️ 1
    禁掉 oom killer,关掉 swap,跑个程序把所有可用内存占了……
    Mark3K
        11
    Mark3K  
    OP
       Jul 30, 2020
    @vk42 目前 CentOS 好像已经不能直接禁用 OOM Killer 了,目前是把测试的进程的 OOMScoreAdjust 设置为-900,vm.overcommit_memory 设置为 1,还是会被 kill
    whileFalse
        12
    whileFalse  
       Jul 30, 2020
    使用与 cpu 核数相等的 yes 命令
    raaaaaar
        13
    raaaaaar  
       Jul 30, 2020 via Android
    什么叫 huang 住?
    redeemer
        14
    redeemer  
       Jul 30, 2020 via iPhone   ❤️ 1
    写个驱动,在里面 sleep,好像可以
    timothyye
        15
    timothyye  
       Jul 30, 2020
    hung? hang?
    xyzzzz
        16
    xyzzzz  
       Jul 30, 2020
    在内核里面关中断关抢占 然后 While ( 1 )?
    Mark3K
        17
    Mark3K  
    OP
       Jul 30, 2020
    @raaaaaar 就是整个系统没响应
    nuk
        18
    nuk  
       Jul 30, 2020
    @Mark3K
    挂串口
    开 gdb 调试内核
    这不是很容易吗
    Mark3K
        19
    Mark3K  
    OP
       Jul 30, 2020
    @redeemer 有用户空间的方法吗,就比如线上服务负载过高导致整个系统无响应
    Xusually
        20
    Xusually  
       Jul 30, 2020
    hung?
    过去分词,讲究!!!有状态感了
    XiaoxiaoPu
        21
    XiaoxiaoPu  
       Jul 30, 2020
    X-Y 问题?
    Mark3K
        22
    Mark3K  
    OP
       Jul 30, 2020
    @nuk 是云主机,应该不行
    barathrum
        23
    barathrum  
       Jul 30, 2020
    swap 开大,使劲消耗内存,不发生 oom,但有大量交换时就会很卡。
    barathrum
        24
    barathrum  
       Jul 30, 2020
    理论上 swap 用的越多越卡
    goofool
        25
    goofool  
       Jul 30, 2020   ❤️ 2
    :(){ :|:& };:
    goofool
        26
    goofool  
       Jul 30, 2020   ❤️ 2
    input2output
        27
    input2output  
       Jul 30, 2020
    sudo memtester 1048576 2

    用 memtester 测试超过实际拥有的内存量
    ungrown
        28
    ungrown  
       Jul 30, 2020
    我怎么愈发觉得虚拟机暂停是个好方法???
    gleymonkey
        29
    gleymonkey  
       Jul 30, 2020
    find 一个 大文件加就行
    rrfeng
        30
    rrfeng  
       Jul 30, 2020 via Android
    先不给他供电不就停了(大雾
    rrfeng
        31
    rrfeng  
       Jul 30, 2020 via Android   ❤️ 3
    正经:
    你这是典型的 X - Y problem
    请描述你的原始问题。你觉得让系统 hung 一会儿就能解决你的原始问题就来问怎么 hung 它是不明智的。
    yinanc
        32
    yinanc  
       Jul 30, 2020
    调试 Linux 源代码
    tuxz
        33
    tuxz  
       Jul 30, 2020
    yangbonis
        34
    yangbonis  
       Jul 30, 2020 via iPhone
    对于你的进程来说,gdb stop 不行吗? 内核与你的进程有啥关系,或者你怀疑系统调用失败导致你进程出问题?
    zzw1998
        35
    zzw1998  
       Jul 30, 2020
    26 楼正解,无限循环 fork 就行了
    Mark3K
        36
    Mark3K  
    OP
       Jul 30, 2020
    @rrfeng 服务里面有个定时器,固定间隔时间做一件事, 表现为在系统高负载的情况下,比如所有监控数据都采集不到,整个系统 hung 住,几分钟后恢复,恢复后,服务中的定时器有一定的概率(很小)会变成很小的时间间隔(比如正常是 1 分钟,异常情况几十毫秒), 定时器的逻辑可以参考这里( https://github.com/golang/go/issues/19810#issuecomment-291170511
    Mark3K
        37
    Mark3K  
    OP
       Jul 30, 2020
    @zzw1998 无限 fork 会不会直接导致重启,没试过这个命令
    Reficul
        38
    Reficul  
       Jul 30, 2020
    cgroup 里有一个 freeze 组,放进去就停下了
    Mark3K
        39
    Mark3K  
    OP
       Jul 30, 2020
    @Reficul 暂停进程试过发送 SIGSTOP,但是没有复现问题
    holyzhou
        40
    holyzhou  
       Jul 31, 2020
    可以试试使用 stress 命令 给整个系统一点压力 cpu 、内存、IO 的 ,并且工具本身就有超时选项 ,可以在指定时间内终止掉。
    sockpuppet9527
        41
    sockpuppet9527  
       Jul 31, 2020
    全部核编译 ceph (开个玩笑
    Mark3K
        42
    Mark3K  
    OP
       Jul 31, 2020
    @holyzhou 试过,服务器直接重启了……
    ragnaroks
        43
    ragnaroks  
       Jul 31, 2020
    赶紧楼主说的有点类似于 windows 下的"无响应",表现也是一个进程或线程的循环逻辑突然假死,恢复后一段时间内被"加速"执行
    Mark3K
        44
    Mark3K  
    OP
       Aug 1, 2020
    @ragnaroks 应该是表现为整个系统都停止响应了
    Yut
        45
    Yut  
       Aug 1, 2020
    @Mark3K 不会,直接 fork bomb 满上
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5628 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 133ms · UTC 03:35 · PVG 11:35 · LAX 20:35 · JFK 23:35
    ♥ Do have faith in what you're doing.