状況:zram
仮想メモリ圧縮の効果に関する研究(ウィキペディア)メモリサイズと速度に関する情報、HDD / SSDにスワップ領域がない場合は、モチベーションをzswap
使用してください
。メモリサイズには影響はありませんが、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
スワップメモリの最適化を停止する指示に従いました。カス、他に焦点を合わせなさい。 Cassさんのコメントを参考にしてください
最後に、可能であれば交換を避けるべきです。システムのRAMをアップグレードできる場合は、そうしてください。メモリ集約的なタスクを別のシステムにオフロードできる場合は、そうします。スワップは遅いので、常に最後の手段です。大規模なmatlabなどのタスクを頻繁に実行する必要がある場合は、スワップスペースがどれだけ多くても、タスクが完了するのを待つ不満や退屈を軽減することはできません(またはデータ交換中にコンピュータをインタラクティブに使用できるようにすることができます) ...これが私がメモリ集約的なタスクを実行するには、SSH経由で接続できるLinuxボックスを構築することをお勧めします。