最近、Ubuntuがクラッシュしました。メモリが不足しているためだと思うので、free -m
コマンドを実行して、メモリ使用量が本当に高いことがわかりました。そのため、top
を実行して原因を見つけましたが、表示されたプロセスが使用しているメモリは1.5%未満でした。どのプログラムがubuntuをクラッシュ/メモリ不足にさせているかを知るにはどうすればよいですか?出力は次のとおりです。
shafee@shafee-pc:~$ free -m
total used free shared buffers cached
Mem: 3824 3714 110 0 978 1954
-/+ buffers/cache: 780 3044
Swap: 99 0 99
shafee@shafee-pc:~$ top
top - 02:12:14 up 1:24, 2 users, load average: 0.16, 0.42, 1.49
Tasks: 182 total, 1 running, 181 sleeping, 0 stopped, 0 zombie
Cpu(s): 2.9%us, 1.9%sy, 0.3%ni, 79.3%id, 15.5%wa, 0.0%hi, 0.2%si, 0.0%st
Mem: 3916708k total, 3803848k used, 112860k free, 1002308k buffers
Swap: 102396k total, 0k used, 102396k free, 2001852k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4200 root 20 0 289m 53m 38m S 2 1.4 1:06.45 Xorg
5590 shafee 20 0 19348 1368 956 R 2 0.0 0:00.01 top
1 root 20 0 24124 2136 1264 S 0 0.1 0:02.05 init
2 root 20 0 0 0 0 S 0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0 0.0 0:24.23 ksoftirqd/0
6 root RT 0 0 0 0 S 0 0.0 0:00.00 migration/0
7 root RT 0 0 0 0 S 0 0.0 0:00.00 migration/1
9 root 20 0 0 0 0 S 0 0.0 0:00.11 ksoftirqd/1
11 root RT 0 0 0 0 S 0 0.0 0:00.00 migration/2
13 root 20 0 0 0 0 S 0 0.0 0:03.89 ksoftirqd/2
14 root RT 0 0 0 0 S 0 0.0 0:00.00 migration/3
16 root 20 0 0 0 0 S 0 0.0 0:00.16 ksoftirqd/3
17 root 0 -20 0 0 0 S 0 0.0 0:00.00 cpuset
18 root 0 -20 0 0 0 S 0 0.0 0:00.00 khelper
19 root 0 -20 0 0 0 S 0 0.0 0:00.00 netns
21 root 20 0 0 0 0 S 0 0.0 0:00.01 sync_supers
shafee@shafee-pc:~$
または、110MBの空きメモリがあるのは正常ですか?私の問題は他の何かに関連していますか?
free
の出力を誤って読んでいます。 Linuxカーネルは独自のメモリ管理を数多く行い、実際に必要な量を超えるメモリを割り当てます。したがって、実際の「空きメモリ」の量は、3044
の[Free]列にある+/- Buffers/cache
です。実際には780 MBしか消費されていません。
デフォルトでは、top
はCPU消費に基づいてソートされます。押すことができます Shift+M 消費されたメモリの割合でソートする-カーネルに割り当てられたメモリを使用しているソフトウェアをよりよく把握できます。
free -m
total used free shared buffers cached
Mem: 7873 3916 3956 0 231 1117
-/+ buffers/cache: 2567 5305
Swap: 12401 0 12401
そして、ソートされたメモリを先頭に:
top - 17:05:18 up 2 days, 1:40, 4 users, load average: 0.21, 0.14, 0.11
Tasks: 237 total, 1 running, 234 sleeping, 0 stopped, 2 zombie
Cpu(s): 1.6%us, 0.8%sy, 0.1%ni, 96.7%id, 0.8%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 8062420k total, 4013632k used, 4048788k free, 237204k buffers
Swap: 12699644k total, 292k used, 12699352k free, 1144752k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1632 root 20 0 884m 240m 6532 S 0 3.1 1:20.17 Java
3911 marco 20 0 1011m 165m 22m S 0 2.1 9:20.62 chrome
3852 marco 20 0 770m 162m 45m S 0 2.1 14:59.59 chrome
1091 root 20 0 491m 160m 118m S 3 2.0 29:19.44 Xorg
1747 marco 20 0 659m 108m 34m S 1 1.4 18:43.92 compiz
3964 marco 20 0 1113m 99m 21m S 0 1.3 18:51.88 chrome
1759 marco 20 0 668m 94m 21m S 0 1.2 2:27.42 nautilus
3046 marco 20 0 788m 86m 26m S 0 1.1 1:22.96 evolution
1793 marco 20 0 647m 85m 18m S 0 1.1 0:12.74 shutter
1791 marco 20 0 404m 85m 13m S 0 1.1 5:19.51 bitcoin
2938 marco 20 0 809m 78m 31m S 0 1.0 1:01.07 empathy
9630 marco 20 0 265m 73m 19m S 1 0.9 12:41.52 skype
9618 marco 20 0 914m 64m 21m S 0 0.8 1:14.04 chrome
1777 marco 20 0 432m 64m 14m S 0 0.8 1:45.96 pastie
最後に、実際のソフトウェアが何であるかを診断するために、-c
フラグをtopに渡してみてください:top -c
は、実行中のコマンドのフルパス、名前、およびパラメーターを提供します。
次のスクリプトを使用して、GNU Linuxシステム内の個々のアプリケーションによる合計メモリ使用量を確認できます。
あなたはアプリケーションを起動することができますビデオなどを変換したい場合など、プロセスの優先度を変更してさらに高速に実行できます。
Kubuntを押すだけ Ctrl-Esc そして、関心のあるフィールドを使用して物事をソートします:メモリ、CPU、...
これは良い質問ですが、情報は利用可能なメモリがたくさんあることを示しています。ただし、メモリ使用量を監視する必要があります。
私のお気に入りのシステムモニターはconky
であり、メモリディスプレイもその一部です。
合計メモリ行は、2.5 GiBのうち7.4 GiBが使用されていることを示しています。
詳細なメモリ行は以下を示します。
Web Content
はメモリの7%を使用しています。これはFirefoxのサブプログラムです。Firefox
自体がメモリの7%を使用していますffmpeg
はメモリの3%を使用しています。これが.gif
レコーダーpeek
であり、私たちが見ているビデオを作っています。Conkyは高度な設定が可能で、デスクトップの見た目はそれぞれ異なります。 conky
をグーグルで検索して、787千ヒットを取得できます。