在 Linux 上简单模拟系统负载的方法
创始人
2024-03-01 21:31:07
0

系统管理员通常需要探索在不同负载对应用性能的影响。这意味着必须要重复地人为创造负载。当然,你可以通过专门的工具来实现,但有时你可能不想也无法安装新工具。

每个 Linux 发行版中都自带有创建负载的工具。他们不如专门的工具那么灵活,但它们是现成的,而且无需专门学习。

CPU

下面命令会创建 CPU 负荷,方法是通过压缩随机数据并将结果发送到 /dev/null

cat /dev/urandom | gzip -9 > /dev/null

如果你想要更大的负荷,或者系统有多个核,那么只需要对数据进行压缩和解压就行了,像这样:

cat /dev/urandom | gzip -9 | gzip -d | gzip -9 | gzip -d > /dev/null

按下 CTRL+C 来终止进程。

内存占用

下面命令会减少可用内存的总量。它是通过在内存中创建文件系统然后往里面写文件来实现的。你可以使用任意多的内存,只需哟往里面写入更多的文件就行了。

首先,创建一个挂载点,然后将 ramfs 文件系统挂载上去:

mkdir z
mount -t ramfs ramfs z/

第二步,使用 dd 在该目录下创建文件。这里我们创建了一个 128M 的文件:

dd if=/dev/zero of=z/file bs=1M count=128

文件的大小可以通过下面这些操作符来修改:

  • bs= 块大小。可以是任何数字后面接上 B(表示字节),K(表示 KB),M( 表示 MB)或者 G(表示 GB)。
  • count= 要写多少个块。

磁盘 I/O

创建磁盘 I/O 的方法是先创建一个文件,然后使用 for 循环来不停地拷贝它。

下面使用命令 dd 创建了一个全是零的 1G 大小的文件:

dd if=/dev/zero of=loadfile bs=1M count=1024

下面命令用 for 循环执行 10 次操作。每次都会拷贝 loadfile 来覆盖 loadfile1

for i in {1..10}; do cp loadfile loadfile1; done

通过修改 {1..10} 中的第二个参数来调整运行时间的长短。(LCTT 译注:你的 Linux 系统中的默认使用的 cp 命令很可能是 cp -i 的别名,这种情况下覆写会提示你输入 y 来确认,你可以使用 -f 参数的 cp 命令来覆盖此行为,或者直接用 /bin/cp 命令。)

若你想要一直运行,直到按下 CTRL+C 来停止,则运行下面命令:

while true; do cp loadfile loadfile1; done

via: https://bash-prompt.net/guides/create-system-load/

作者:Elliot Cooper 译者:lujun9972 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

谷歌、AWS 均表示客户使...
当企业转向云端时,那些在 Microsoft 基础设施上投入巨资的...
2025-04-26 16:15:37
如何在CentOS上安装并...
CentOS Sysstat工具:系统监控与性能分析的利器 在Li...
2025-03-05 06:38:05
突然宣布!暂停DeepSe...
【导读】DeepSeek一天能赚多少钱?官方突然揭秘!潞晨科技暂停...
2025-03-02 07:57:35
回顾DeepSeek“开源...
界面新闻记者 | 伍洋宇 界面新闻编辑 | 文姝琪 2月最后一...
2025-02-28 17:23:50
让AI“边做饭边洗碗”!D...
一口气放出三个王炸!DeepSeek“开源周”第四弹,开源最新优化...
2025-02-27 14:19:20
DeepSeek 开源第四...
DeepSeek 开源周第四天的开源项目如约而来,今天 DeepS...
2025-02-27 12:48:35

热门资讯

使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
Bazzite:专为 Stea... 为 Linux 桌面或者 Steam Deck 做好游戏准备,听起来都很刺激!对于一个专为 Linu...