我在云中有几个低内存虚拟机,以运行一些基本的测试实验室。我总是收到有关性能的通知,特别是在内存方面,因为它们只有587M内存。
低内存云VM上的性能问题

更改SWAP文件大小
的Linux提供了两种类型的交换空间。默认情况下,大多数Linux安装都会创建交换分区,但是也可以使用经过特殊配置的文件作为交换文件。交换分区的名称就是它的含义-一个标准磁盘分区,由mkswap命令指定为交换空间。 如果您没有足够的内存,那么在任何内存需求高峰时,交换将非常频繁地使用,而且使用频率会明显增加。如果您没有足够的内存并且没有交换空间,这通常会导致无法为需要更多内存页面的请求分配内存。作为最后的手段,内核将部署OOM杀手来破坏高级内存进程(通常是MySQL,java等),这在我的上一篇文章中已显示– 的Linux虚拟机PHP调用了OOM-killer(内存不足)问题.
推荐的SWAP空间如下:
系统内存量 | 推荐交换空间 | 建议与休眠交换 |
---|---|---|
小于2 GB | RAM量的2倍 | RAM量的3倍 |
2 GB – 8 GB | 等于RAM量 | RAM量的2倍 |
8 GB – 64 GB | RAM量的0.5倍 | RAM量的1.5倍 |
超过64 GB | 取决于工作量 | 不建议休眠 |
就我而言,我的VM仅具有587M内存,交换文件大小为0K。

根据建议,我为此添加了一个1GB的交换文件。
[[电子邮件 protected] 〜]# sudo fallocate -l 1G /swapfile
[[电子邮件 protected] 〜]
#sudo dd if = / dev / zero of = / swapfile bs = 1024 count = 1048576 1048576+0 records in 1048576 + 0条记录 已复制1073741824字节(1.1 GB),27.5052 s,39.0 MB / s
[[电子邮件 protected] 〜]
#sudo chmod 600 /交换文件
[[电子邮件 protected] 〜]
#sudo mkswap / swapfile 设置交换空间版本1,大小= 1048572 KiB 没有标签,UUID = d126e13f-162d-4a1d-998c-f8e4152e4f8b
[[电子邮件 protected] 〜]
#sudo swapon / swapfile
[ro[电子邮件 protected] 〜]
#vi / etc / fstab
[[电子邮件 protected] 〜]
#mount -a
在/ etc / fstab文件中添加新行:
/ swapfile swap swap默认值0 0

使用命令验证:
- 最佳
- 停止
- 免费-h

性能测试
用我发布的方法: 适用于AWS,Azure,Google 云和Oracle 云的VPS Bench比较(免费套餐& Regular Tier)
与交换增加更改之前和之后的区别不大。当有一些繁重的应用程序使用内存时,可能会有所不同。
SWAP增加之前 | SWAP增加后 |
nench.sh v2019.07.20 — //git.io/nench.sh benchmark timestamp: 2020-03-18 21:17:43 UTC————————————————- 处理器: Intel®Xeon(R)CPU @ 2.30GHzCPU内核: 1Frequency: 2300.000 MHzRAM: 587MSwap: -Kernel: Linux 3.10.0-1062.12.1.el7.x86_64 x86_64 磁盘:sda 10G HDD CPU:散列SHA256的500 MB 1.719秒CPU:bzip2-压缩500 MB CPU:AES加密500 MB 1.052 seconds ioping:搜寻率 min / avg / max / mdev = 452.8 us / 5.33 ms / 51.9 ms / 8.48 msioping:顺序读取速度 在5.00 s,614 MiB,490 iops,122.7 MiB / s中生成了2.46 k请求 dd:顺序写入速度 1st run: 35.86 MiB/s 2nd run: 36.05 MiB/s 3rd run: 36.05 MiB/s average: 35.99 MiB/s IPv4速度测试 your IPv4: 35.226.94.xxxx Cachefly CDN: 110.45 MiB/s Leaseweb (NL): 17.40 MiB/s Softlayer DAL (US): 60.76 MiB/s Online.net (FR): 17.77 MiB/s OVH BHS (CA): 44.79 MiB/s 未检测到IPv6连接-———————————— | nench.sh v2019.07.20 — //git.io/nench.sh benchmark timestamp: 2020-03-18 21:36:09 UTC————————————————- 处理器: Intel®Xeon(R)CPU @ 2.30GHzCPU内核: 1Frequency: 2300.000 MHzRAM: 587MSwap: 1.0GKernel: Linux 3.10.0-1062.12.1.el7.x86_64 x86_64 磁盘:sda 10G HDD CPU:散列SHA256的500 MB 1.731秒CPU:bzip2-压缩500 MB CPU:AES加密500 MB 1.059 seconds ioping:搜寻率 min / avg / max / mdev = 338.6 us / 4.13 ms / 68.9 ms / 6.66 msioping:顺序读取速度 在5.00 s,615.5 MiB,492 iops,123.1 MiB / s的速度下产生了2.46 k请求 dd:顺序写入速度 1st run: 35.86 MiB/s 2nd run: 36.05 MiB/s 3rd run: 36.05 MiB/s average: 35.99 MiB/s IPv4速度测试 your IPv4: 35.226.94.xxxx Cachefly CDN: 101.90 MiB/s Leaseweb (NL): 17.43 MiB/s Softlayer DAL (US): 60.28 MiB/s Online.net (FR): 17.80 MiB/s OVH BHS (CA): 32.00 MiB/s 未检测到IPv6连接-———————————— |