如何研究zram对内存大小和分页的影响?

如何研究zram对内存大小和分页的影响?

情况:研究zram虚拟内存压缩的效果(维基百科)关于内存的大小及其速度;当交换区不在 HDD/SSD 上时;zswap如果您想在 HDD/SSD 上进行交换,请使用
动机:我对内存大小没有任何影响,但systemd/... 的错误数量增加,即runit压缩可能存在稳定性问题,尽管应避免分页 更多
代码

# http://askubuntu.com/a/800645/25388
modprobe zram
echo lz4 > /sys/block/zram0/comp_algorithm
echo 4G > /sys/block/zram0/disksize
mkswap --label zram0 /dev/zram0
swapon --priority 100 /dev/zram0

特征

  • 命令cat /sys/block/zram0/orig_data_size给出4096.

  • RAM 已满且交换区已满。所以当总内存消耗达到20GB左右时计算结束,计算失败。

    在此输入图像描述

  • 命令swapon 基于cat /proc/swaps

    NAME       TYPE      SIZE USED PRIO
    /dev/sda3  partition   8G   0B   -1
    /dev/zram0 partition   4G   0B  100
    
  • 命令free -m

                 total        used        free      shared  buff/cache   available
    Mem:         7925         1390        5465      172     1069         6074
    Swap:        12226        0           12226
    
  • 有关 SSD 中当前内存使用情况的命令df -k | grep sda2,以及将其扩展为交换的可能性。

    Filesystem     1K-blocks     Used      Available Use% Mounted on
    /dev/sda2      108299224     76880916  25893932  75%  /
    % df -h
    /dev/sda2      104G          74G       25G       75%  /
    

测试代码:任何占用大量内存的 Matlab 计算。

输出:矩阵的大小不会随着实现而增加。预期输出:内存大小增加。

系统:Linux Ubuntu 16.04 64 位
硬件:Macbook Air 2013-mid

答案1

我按照指示停止优化交换内存CAS,专注于其他事情。请注意cas的评论

最后,如果可能的话,应该避免交换。如果您可以升级系统的 RAM,那么就升级吧。如果您可以将内存消耗大的任务卸载到另一台机器上,那么就这样做。交换始终是最后的手段,因为它很慢。如果您需要经常运行大型 matlab 等作业,那么没有多少交换空间可以缓解等待其完成的挫败感和乏味(或者使您的机器在交换数据进出时可以交互使用)......这是为什么我建议构建一个可以通过 ssh 连接到的 Linux 盒子来运行大量占用内存的作业。

相关内容