在低内存虚拟机上压缩内存

rubo77

有没有办法从VM上的有限Ram中获得更多收益?

我有一个在云托管服务器上运行的VM,并尝试优化RAM mashine相当低的值。

我听说,如果所有空闲内存都在使用中,那么有一种压缩内存中部分内容的方法称为zram

我该如何运行?

rubo77

Zram Wiki所述

zram(以前称为compcache)可以创建基于RAM的块设备。从3.2开始,它是Linux内核的实验(登台)模块。

因此,如果您在3.2之前使用内核,则需要将以下脚本(从此处获取复制/etc/init.d/zram

### BEGIN INIT INFO
# Provides:          zram
# Required-Start:    $local_fs
# Required-Stop:     $local_fs
# Default-Start:     S
# Default-Stop:      0 1 6
# Short-Description: Use compressed RAM as in-memory swap
# Description:       Use compressed RAM as in-memory swap
### END INIT INFO

# Author: Antonio Galea <[email protected]>
# Thanks to Przemysław Tomczyk for suggesting swapoff parallelization

FRACTION=75

MEMORY=`perl -ne'/^MemTotal:\s+(\d+)/ && print $1*1024;' < /proc/meminfo`
CPUS=`grep -c processor /proc/cpuinfo`
SIZE=$(( MEMORY * FRACTION / 100 / CPUS ))

case "$1" in
  "start")
    param=`modinfo zram|grep num_devices|cut -f2 -d:|tr -d ' '`
    modprobe zram $param=$CPUS
    for n in `seq $CPUS`; do
      i=$((n - 1))
      echo $SIZE > /sys/block/zram$i/disksize
      mkswap /dev/zram$i
      swapon /dev/zram$i -p 10
    done
    ;;
  "stop")
    for n in `seq $CPUS`; do
      i=$((n - 1))
      swapoff /dev/zram$i && echo "disabled disk $n of $CPUS" &
    done
    wait
    sleep .5
    modprobe -r zram
    ;;
  *)
    echo "Usage: `basename $0` (start | stop)"
    exit 1
    ;;
esac

赋予它可执行权限

chmod +x /etc/init.d/zram

然后使用以下命令指示系统在引导时启动它

insserv zram

下次重新启动后,您将看到与

swapon -s

看起来像:

Filename                Type        Size    Used    Priority
/dev/zram0                              partition   381668  380716  10

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Azure虚拟机上的HTTPS

来自分类Dev

物理内存与虚拟内存

来自分类Dev

在Android手机上模拟低内存

来自分类Dev

如何将内存添加到Azure虚拟机?

来自分类Dev

在虚拟机(例如Dalvik)中运行的垃圾收集语言中的内存泄漏类型

来自分类Dev

虚拟内存或物理内存

来自分类Dev

在Azure虚拟机上的Elasticsearch

来自分类Dev

我应该为虚拟机分配多少内存(RAM)?

来自分类Dev

Hyper-V虚拟机的内存要求

来自分类Dev

虚拟内存混乱

来自分类Dev

什么是虚拟内存?

来自分类Dev

我应该为虚拟机分配多少内存(RAM)?

来自分类Dev

运行虚拟机时应为Ubuntu分配多少RAM内存?

来自分类Dev

rm -rf /在虚拟机上?

来自分类Dev

如何使用WMI获得虚拟机最大内存?

来自分类Dev

虚拟功能的内存位置

来自分类Dev

“压缩内存”去哪了?

来自分类Dev

我的虚拟机的内存分配永远不会改变

来自分类Dev

Windows 7 Guest虚拟机上的内存不足警告-VMWare Workstation 12 Player

来自分类Dev

关闭时,VMware虚拟机是否占用内存?

来自分类Dev

在虚拟机上连接USB

来自分类Dev

在虚拟机上使用VirtualBMC

来自分类Dev

在Azure虚拟机上的Elasticsearch

来自分类Dev

卡在虚拟机上

来自分类Dev

java - 虚拟机上的内存

来自分类Dev

用于写虚拟机软CPU的分区内存

来自分类Dev

在 vmware 虚拟机 ubuntu 19.10 中处理 hadoop 3.1.3 中的低内存

来自分类Dev

在虚拟机上丢失全屏

来自分类Dev

在虚拟机上使用 taskschedulerR