web-dev-qa-db-ja.com

この「メモリを割り当てることができません」というエラーが頻繁に表示されるのはなぜですか?

Gnome-ClassicでUbuntu 12.10を使用しています。このエラーは頻繁に発生し、大小のほとんどすべてのプログラムで発生します。それらを開こうとすると、起動しません。代わりに、Could not launch 'Program' - Failed to fork child process (Cannot allocate memory)というエラーメッセージが表示されます。これは、ここ数週間以内に問題になりました。

cannot allocate memory

このエラーを引き起こすプログラム間の共通点を見分けることはできません。時間の問題のようです。 1日から数日の間、コンピューターをしばらく実行した後、新しいプログラムを起動できないようです。

このエラーを防ぐ唯一の方法は、コンピューターを再起動することです。

このエラーが発生するのはなぜですか?また、エラーが発生しないようにするにはどうすればよいですか?


GRUBメニューから利用可能なmemtestを実行しましたが、エラーは報告されていないため、これはハードウェア障害ではないと思います。

Sudo apt-get checkも実行しましたが、エラーは見つかりませんでした。

要求されたコマンドライン出力を次に示します。

$ free -m
             total       used       free     shared    buffers     cached
Mem:          3945       3753        191          0        181        475
-/+ buffers/cache:       3096        848
Swap:         3813         60       3753

$ swapon -s
Filename                Type        Size    Used    Priority
/dev/sda6                               partition   3905532 61648   -1

$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 31421
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 31421
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

これは、エラーが表示され始めた後のps --sort -rss -eo rss,pid,command | headの出力です。

$ ps --sort -rss -eo rss,pid,command | head
  RSS   PID COMMAND
1963400 2953 gnome-panel
155496 4029 banshee /usr/lib/banshee/Banshee.exe --redirect-log --play-enqueued
104944 15765 /opt/google/chrome/chrome --type=renderer --lang=en-US --force-fieldtrials=ForceCompositingMode/disable/GlobalSdch/global_enable_sdch/InfiniteCache/No/OmniboxDisallowInlineHQP/Standard/OmniboxHUPCreateShorterMatch/Standard/OmniboxHUPCullRedirects/Standard/OmniboxSearchSuggestTrialStarted2012Q4/2/OneClickSignIn/Standard/Prerender/PrerenderEnabled/SBInterstitial/V2/SpdyCwnd/cwndMin10/SpeculativePrefetching/Disabled/Test0PercentDefault/group_01/UMA-Dynamic-Binary-Uniformity-Trial/default/UMA-Session-Randomized-Uniformity-Trial-5-Percent/default/UMA-Uniformity-Trial-1-Percent/group_09/UMA-Uniformity-Trial-10-Percent/group_08/UMA-Uniformity-Trial-20-Percent/group_03/UMA-Uniformity-Trial-5-Percent/group_06/UMA-Uniformity-Trial-50-Percent/group_01/WarmSocketImpact/last_accessed_socket/ --enable-crash-reporter=ECE9000094D279FD3B14B35A74BF72CC,Ubuntu 12.10 --renderer-print-preview --disable-accelerated-2d-canvas --disable-accelerated-video-decode --channel=15654.5.89177240
78164 15654 /opt/google/chrome/chrome       
74912 19890 /usr/bin/python /usr/share/oneconf/oneconf-service
65476 12419 /usr/bin/Perl /usr/bin/shutter
61096 19626 /usr/bin/python3.2 /usr/sbin/aptd
57832 15708 /opt/google/chrome/chrome --type=renderer --lang=en-US --force-fieldtrials=ForceCompositingMode/disable/GlobalSdch/global_enable_sdch/InfiniteCache/No/OmniboxDisallowInlineHQP/Standard/OmniboxHUPCreateShorterMatch/Standard/OmniboxHUPCullRedirects/Standard/OmniboxSearchSuggestTrialStarted2012Q4/2/OneClickSignIn/Standard/Prerender/PrerenderEnabled/SBInterstitial/V2/SpdyCwnd/cwndMin10/SpeculativePrefetching/Disabled/Test0PercentDefault/group_01/UMA-Dynamic-Binary-Uniformity-Trial/default/UMA-Session-Randomized-Uniformity-Trial-5-Percent/default/UMA-Uniformity-Trial-1-Percent/group_09/UMA-Uniformity-Trial-10-Percent/group_08/UMA-Uniformity-Trial-20-Percent/group_03/UMA-Uniformity-Trial-5-Percent/group_06/UMA-Uniformity-Trial-50-Percent/group_01/WarmSocketImpact/last_accessed_socket/ --enable-crash-reporter=ECE9000094D279FD3B14B35A74BF72CC,Ubuntu 12.10 --extension-process --renderer-print-preview --disable-accelerated-2d-canvas --disable-accelerated-video-decode --channel=15654.2.1555888673
42108  3030 /var/lib/dropbox/.dropbox-dist/dropbox

コメントと回答の提案に基づいて、問題はGnomeパネルまたはそのアプレットにある可能性があります。実行しているアプレットは次のとおりです。

Panel applets

アプレットは、Indicator Applet 12.10.1System Monitor 3.5.92、および「通知領域」です。および「日付と時刻」、どちらのバージョン番号にもアクセスできません。

以下に、さらにリクエストされたコマンドライン出力を示します。

$ df -h
Filesystem                             Size  Used Avail Use% Mounted on
/dev/sda5                               19G   12G  6.4G  64% /
udev                                   2.0G  4.0K  2.0G   1% /dev
tmpfs                                  790M  1.1M  789M   1% /run
none                                   5.0M     0  5.0M   0% /run/lock
none                                   2.0G   84K  2.0G   1% /run/shm
none                                   100M     0  100M   0% /run/user
/dev/sda7                              384G  306G   59G  84% /home
[email protected]:/home/mythbuntu  437G  360G   55G  87% /home/dave/Mythbuntu
$ Sudo du -csh /var/log
15M /var/log
15M total
29
Questioner

過去数日間にわたってオンとオフを切り替えて実験した結果、問題は時刻と日付のアプレットの天気インジケーター部分のメモリリークであったと確信しています。天気が表示されているとき、メモリ使用量は時間とともに増加します。天気が表示されていない場合、メモリは増加しません。

これは報告されるべき天気インジケーターのバグだと思いますが、Launchpadでバグを報告することは私にとって着手するプロセスを非常に複雑にします。

3
Questioner

一部のプロセスがメモリをリークしています。これがどのプロセスであるかを知るには、次を実行します

ps --sort -rss -eo rss,pid,command | head
33
jdthood

RAMブートメニューで提供される組み込みユーティリティでGRUBをテストしてトラブルシューティングプロセスを開始し、問題の原因としての「不良RAM」を排除することをお勧めします。

メモリテスト Memory test

Memtest86 + Memtest86+

次に、Sudo apt-get checkを使用して端末からの依存関係が壊れていないかシステムを確認し、エラーが見つかった場合は、コマンドをSudo apt- check -fを取得して、修正してみてください。

よろしければ、これらの手順を試して、ここに結果を報告してください。

リーランド


こんにちはデイブ、

それでは、問題の原因としてハードウェアを除外しました。

次に、コンピューターのメモリ使用量とプロセス設定を調べてみましょう。端末プロンプトから次のコマンドを実行します。

空きメモリと使用済みメモリの量を表示

無料-m

スワップ使用状況の概要を表示

swapon -s

ユーザープロセスのリソース制限を表示する

ulimit -a

以下のスクリーンショットは、10.0LTSのクリーンインストールからのものです。最初と2番目の黄色い丸で囲まれた項目の注意事項は、「使用済み」列にあり、オペレーティングシステムが使用できるメモリとスワップスペースを表示します。つまり、すべて使用されているわけではありません。

下部の黄色の丸で囲まれた項目には、オペレーティングシステムがユーザーに実行を許可するユーザープロセス(gFTPやその他のアプリケーションなど)の数に制限はありません。

よろしければ、これらの手順を試して、ここに結果を報告してください。

リーランド

Memory usage and process resource limits


こんにちはデイブ、

psから返される結果--sort -rss -eo rss、pid、command |投稿したheadは、約1.8GBのメモリを使用するgnome-panelプロセスを示していますが、これは少し珍しいと思われます。これは、デスクトップ環境が使用する多くのメモリのようです。

gnome-panelプロセスが使用しているメモリの内訳を取得するには、以下のスクリーンショットの丸で囲まれたコマンドを実行し、それがどこに向かっているかを確認します。 。

比較のために、仮想マシンのgnome-panelプロセスは48MBのRAMを使用しています-ただし、これらのスクリーンショットの10.04マシンは仮想マシンです自分のデスクトップではなく、テストのみに使用しています。

pmap from gnome-panel process

そのため、次のステップは、Gnomeデスクトップ環境で問題を「何か」に切り分けることです。

これをテストするには、Ubuntu Software CentreにあるKDE plasmaワークスペースをインストールしてみてください。

kde-plasma desktop environment

インストールしたら、コンピュータを再起動し、Gnomeの代わりにKDEセッションでログインし、できる限りアプリケーションを実行して(デスクトップは完全に異なります)、「メモリを割り当てることができません」エラーがここで繰り返されるかどうかを確認します。

簡単に言うと、GDE環境で行ったのと同じCLI「テスト」をKDE環境で実行し、2つの間のコンピューターの動作を調べて結果を比較できます。

KDEでは、探しているコンソールアプリケーションはxtermで、メインメニューの[検索]ダイアログから見つけることができます。

xterm pid and pmap for plasma-desktop

ここで少し自信をつけて、問題を切り分けるために私たちは集合的に正しい軌道に乗っていると思います。

リーランド

19
Leland Kristie

Ruby on Rails onDigital Oceanを使用してこの問題が発生している場合は、RAMが少なすぎる可能性があります。 RAMを512MBから1GBにアップグレードしてみてください

1
Glenn Dayton