freeと表示されているとおり、2 GBの共有メモリが使用されます[閉じる]

freeと表示されているとおり、2 GBの共有メモリが使用されます[閉じる]

オペレーティングシステム:Ubuntu 16.04

free出力には約2GBの共有メモリが表示されます。共有メモリは、一定時間が経過しても割り当てられたままです。ログアウトであり、リスト内の特定のプロセスはtopそれを占有しません。

ipcs -mこの消費の単一プロセス(または合計)の表示はありません。

syncあるいは、sysctl vm.drop_caches={1..3}共有メモリが少なくなりません。 (予想キャッシュのみ)

実際には、書き込みブロックデバイスを使用しようとすると誤った問題が発生し、物理ファイルがdd生成されることがわかります/dev/(回答を参照)。

参考までに:

> grep ' /dev ' /proc/mounts 
udev /dev devtmpfs rw,nosuid,relatime,size=1941504k,nr_inodes=485376,mode=755 0 0

何が共有メモリを占有しているかを把握するために、一般的にどのようなステップを踏みますか?

答え1

その理由は、ddコマンドにエラーを入力し、物理ファイル/ dev / mmcblk1を書き込んだからです。

 > ll /dev/mmcblk*
-rw-r--r-- 1 root root   1.9G 2017-11-03 18:09 /dev/mmcblk1 
brw-rw---- 1 root disk 179, 0 2017-11-03 18:10 /dev/mmcblk2

SDカードを取り外してエラーを確認した後、実際のファイルを削除してキャッシュ使用量を2GB削減しました。

例を再現するには:

> free -h
              total        used        free      shared  buff/cache   available
Mem:           3.7G        1.7G        919M        163M        1.2G        1.6G

> sudo dd if=/dev/zero of=/dev/BIG  bs=1M count=700 status=progress
700+0 records in
700+0 records out
734003200 bytes (734 MB, 700 MiB) copied, 0.743527 s, 987 MB/s

> free -h
              total        used        free      shared  buff/cache   available
Mem:           3.7G        1.7G        221M        859M        1.8G        982M

> sudo rm /dev/BIG

> free -h
              total        used        free      shared  buff/cache   available
Mem:           3.7G        1.7G        904M        160M        1.2G        1.6G

関連情報