我写了一个堪称「愚蠢」的小工具

不知道各位有没有那种需要起一个程序占用特定 CPU 和内存的需求,我最近是有。在公司的一个需求自测的时候,需要设置「 CPU 告警阈值」和「内存告警阈值」,然后通过占用 CPU 和内存的方式触发告警。

之前占用 CPU 我都是开一个 Python Console 然后计算 999999999999999 ** 99999999999999999,虽然能用但非常不优雅:每个 Python 进程只能占用 1 个核心且不能占用 0.5 个核心。内存则是 dd if=/dev/zero of=output_file bs=4k count=xxx 来生成一个固定大小的文件,然后用 Python open('output_file').read(),同样是又麻烦又不优雅。

所以开发了这个叫 eat 的小工具,可以通过下面的命令占用指定的 CPU 和内存数量

eat -c 4            # 占用 4 个 CPU 核
eat -c 100%         # 占用所有 CPU 核
eat -m 4g           # 占用 4GB 内存
eat -m 20m          # 占用 20MB 内存
eat -m 100%         # 占用所有内存
eat -c 2.5 -m 1.5g  # 占用 2.5 个 CPU 核和 1.5GB 内存
eat -c 3 -m 200m    # 占用 3 个 CPU 核和 200MB 内存
eat -c 100% -m 100% # 占用所有 CPU 核和内存

贴上 GitHub 地址各位有兴趣可以试一下~

32 个赞

这需求
话说甲骨文那几个保活脚本不就是这个功能?占用cpu多少,网络多少

2 个赞

有趣,测试能用到

1 个赞

感谢分享!可以用来保活!

挺有意思的

看过类似文章,甲骨文的机器 CPU 带宽和内存设置在 30%的占用用来保活

这种小工具其实还是挺有用的

谢谢分享,有时确实能用到

Mark

可以,挺好的小工具

这个可以有

还真有用!

楼主添加一个自定义占用核数和占用率的,更方便一点

在某些场合,就很有用,比如政府单位,之前就写过这个,感觉还是自适应的好点,其他的负载突然高起来容易机器假死

可以的 先mark

不错:+1:

可以申请加一个小功能吗,灵活占用到30%时,多退少加

感谢分享,分享就是最大的善举

我不会说不如xxx :tieba_003:

哈哈哈:rofl:简单明了,收藏了