メモの祭り

最近はメモすることも忘れ。。。

メモリの空き容量を確保する

メモリの空き容量を増やす

dd if=/dev/zero of=/dev/null bs=1000M count=1

hoge@hogehoge:~# free -m
             total       used       free     shared    buffers     cached
Mem:           993        272        721          1          2        200
-/+ buffers/cache:         69        924
Swap:         1443         98       1344
hoge@hogehoge:~# dd if=/dev/zero of=/dev/null bs=1000M count=1
1+0 records in
1+0 records out
1048576000 bytes (1.0 GB) copied, 41.3675 s, 25.3 MB/s
hoge@hogehoge:~# free -m
             total       used       free     shared    buffers     cached
Mem:           993        104        889          1          1         35
-/+ buffers/cache:         67        926
Swap:         1443        118       1324
hoge@hogehoge:~#

 実行前実行後
used272104
free721889
cached20035

キャッシュのクリア

sysctl -w vm.drop_caches=3

hoge@hogehoge:~# free -m
             total       used       free     shared    buffers     cached
Mem:           993        291        702          1          3        207
-/+ buffers/cache:         80        913
Swap:         1443        117       1325
hoge@hogehoge:~# sysctl -w vm.drop_caches=3
vm.drop_caches = 3
hoge@hogehoge:~# free -m
             total       used       free     shared    buffers     cached
Mem:           993         87        906          1          0          7
-/+ buffers/cache:         79        914
Swap:         1443        117       1325
hoge@hogehoge:~#

 実行前実行後
used29187
free702906
cached2077

おまけ

連続で実行した場合

Step 1:物理メモリの空き容量を増やす
Step 2:キャッシュのクリア

hoge@hogehoge:~# free -m
             total       used       free     shared    buffers     cached
Mem:           993        285        708          1          4        200
-/+ buffers/cache:         80        913
Swap:         1443        117       1325
hoge@hogehoge:~# dd if=/dev/zero of=/dev/null bs=1000M count=1
1+0 records in
1+0 records out
1048576000 bytes (1.0 GB) copied, 24.5029 s, 42.8 MB/s
hoge@hogehoge:~# free -m
             total       used       free     shared    buffers     cached
Mem:           993         71        922          0          1         26
-/+ buffers/cache:         44        949
Swap:         1443        116       1326
hoge@hogehoge:~# sysctl -w vm.drop_caches=3
vm.drop_caches = 3
hoge@hogehoge:~# free -m
             total       used       free     shared    buffers     cached
Mem:           993         53        939          0          0          8
-/+ buffers/cache:         44        949
Swap:         1443        115       1327
hoge@hogehoge:~#
上記と逆の順

Step 1:キャッシュのクリア
Step 2:物理メモリの空き容量を増やす

hoge@hogehoge:~# free -m
             total       used       free     shared    buffers     cached
Mem:           993        283        709          1          3        210
-/+ buffers/cache:         69        923
Swap:         1443        107       1335
hoge@hogehoge:~# sysctl -w vm.drop_caches=3
vm.drop_caches = 3
hoge@hogehoge:~# free -m
             total       used       free     shared    buffers     cached
Mem:           993         78        914          1          0          9
-/+ buffers/cache:         68        925
Swap:         1443        107       1335
hoge@hogehoge:~# dd if=/dev/zero of=/dev/null bs=1000M count=1
1+0 records in
1+0 records out
1048576000 bytes (1.0 GB) copied, 51.7997 s, 20.2 MB/s
hoge@hogehoge:~# free -m
             total       used       free     shared    buffers     cached
Mem:           993         72        921          0          0         24
-/+ buffers/cache:         46        947
Swap:         1443        113       1329
hoge@hogehoge:~#

結果として、空き容量の確保もできるしキッシュのクリアのみで良さそう。