特定のWebサイトをロードしようとすると「メモリ不足」エラーが発生する(RAM不足ではない)


15

更新: Richのソリューション(チェックマーク付き)が私の問題を解決しました!また、Richのソリューションが役に立たない場合に役立つ回避策を含む回答を投稿しました。賞金を受け取った答えは当時最高でしたが、実際の解決策はありません(トラブルシューティングには役立ちましたが)。


コンピューター(Macbook Pro、8GB RAM、OS 10.8)が特定のWebサイトを読み込もうとしないという問題があります。再起動する以外は何も修正しません。これは、私のコンピューターまたはインターネット接続で明らかに他に問題がない場合、および他のサイトが問題なくロードされる場合に発生します。

これが発生したとき、私が得るエラーはここにあります:

  • クロムError 13 (net::ERR_OUT_OF_MEMORY)
  • サファリ"The error is: 'The operation couldn't be completed. Cannot allocate memory.' (NSPOSIXErrorDomain:12)"
  • Firefox:URLを入力してReturnキーを押した後、応答がありません(エラーメッセージも、読み込み中またはサイトへの接続を試みていることを示すスロバもありません)。
  • ping

    PING google.com (74.125.224.135): 56 data bytes
    ping: sendto: Cannot allocate memory
    ping: sendto: Cannot allocate memory
    Request timeout for icmp_seq 0
    ping: sendto: Cannot allocate memory
    Request timeout for icmp_seq 1
    

(その後キャンセルしました)

初めてこのことに気づいたとき、訪問しようとした1つまたは2つのサイトで発生しました。私はまだFacebookとGoogleを使用することができました。その日のうちに、エラーはfacebookとgoogleにも拡大しました。再起動後、それらのサイトは再びアクセス可能になりましたが、後で他のサイト(stackexchange.com、surveygizmo.com)にアクセスできなくなりました。

その他の注意事項:

  • これが複数のワイヤレスネットワークとVPNで発生することを確認できます。
  • 現時点では、8 GBのうち2 GBのRAMが「非アクティブ」で、500 MBが「無料」であったため、実際にはメモリ不足ではありません。他のWebサイトやアプリケーションは迅速に応答しており、過剰な交換の兆候はありません。
  • pingからの応答は、問題がDNSに影響しないことを示唆しているようです(ただし、IPアドレスはどこかにキャッシュされている可能性があります)。

このAppleサポートスレッドで、この問題に関する他の参照を1つだけ見つけました。再起動を除いて、解決策は見つかりませんでした。

注:これは、RAMが不足しても問題ではありません。

アクティビティモニターには、十分な空き/非アクティブメモリが表示されます。過剰なページングは​​発生していません。他のWebサイトは問題なくロードされます。他の種類のメモリ割り当てエラーが発生している可能性がありますが、単純に古いRAM不足が特定のWebサイトを無効にし、パフォーマンスに他の影響を与えない方法は想像できません。


一般的にRAMが不足しているように聞こえますか?あなたの記憶がどこに行くか(処理する)を見てください。
ジェリー

ありがとう、しかし、私はそれが問題だとは思わない。これが発生した場合、遅延や交換の兆候はありません。ただちにエラーが発生します。他のプログラムとブラウザのタブは、遅滞なく応答し続けます。また、2.5Gの使用可能なRAMはかなり大きくなります(何かがひどく壊れていて、非アクティブなメモリの再割り当てに失敗していない限り)。
octern

おそらく何かが壊れていますが、それはブラウジングの問題ではありませんが、より一般的にはメモリ管理に関連しています。
ジェリー

休憩の後、問題は再び戻ってきました。今回は作業ファイルにアクセスできなかったので、本当に修正が必要です!バウンティが追加されました。
10

2
この問題は、システムメモリに関連する可能性は低いですが、代わりにネットワークバッファに関連しています。の出力を表示してくださいnetstat -m。どのVPNを使用していますか?VPNを使用していないときに問題が発生しましたか?
-AndrewNimmo

回答:


6

TCP / IPまたはWi-Fiを無効にして再度有効にすることで、ネットワークを元に戻すことができませんでした。私の場合、コンピュータはジュニパーVPN接続でスリープ状態になり、復帰したときに接続がタイムアウトし、ルートがクリーンアップされなかったようです。私にとっては、2台のコンピューターがあり、1台は稼働しており、もう1台は稼働していなかったため、実行後に問題を特定できましたnetstat -rn

動作していなかったコンピューターで、リンク4のゲートウェイを持つ192.168.43.1の宛先がありました。WASが機能しているコンピューターでは、その宛先のゲートウェイはワイヤレスルーターのMACアドレスであったため、次の方法でそのルートを削除しました。

sudo route delete -host 192.168.43.1

この後、ワイヤレスルーターにpingを送信し、インターネットに戻ることもできました。

一部の人々は、[設定]→[ネットワーク]→[Wi-Fi]→[詳細設定]→[プロキシ]に移動し、自動プロキシ検出を有効にすると主張しました。「デッド」ルートを削除することで接続が修正されたため、これを確認できませんでした。


これは動作します!そして、私のソリューションとは異なり、根本的な問題を実際に修正し、何が起こっているかを説明するのに役立ちます。ありがとうございました!
octern

振り返ってみると、ジュニパーのクライアントが私の問題の原因でもあったようです。組織がジュニパーネットワークスの使用を停止し、OS XネイティブVPNインターフェイスに切り替えたため、この現象は再発しなかったことを報告できるようになりました。
10

4

これは、RAMでもディスク関連の問題でもありません。

これは、ネットワークインターフェースの1つの動作不良によるカーネルの問題です。この問題が発生したときに、この問題の原因の特定を開始するためのコマンドを次に示します。

  • netstat -mm バッファープールの使用に関する詳細情報を提供します。
  • netstat -I en0使用中の実際のネットワークインターフェイスがen0(イーサネット)の場合、実際のエラー(Ierrs、Oerrs)が表示されます。
  • netstat -r 他の世界へのルートが正しいかどうかを表示します。

この誤動作は、自動または標的を絞ったネットワーク攻撃の結果である可能性があります。あなたがそのような場合に直面しているのではないかと疑っているなら、ここに目で真実を見る方法があります:

  • (ネットワークインターフェイス上の)既知のノイズを制限するためSafariMail、ネットワークアプリケーション(ssh、、…)を残します。
  • a Terminalを開いて入力し/usr/bin/sudo tcpdump -i en0ます:(インターフェイスがen0== Ethernetの場合);
    • の出力tcpdumpがサイレントのままであれば、攻撃されず、control-Cを入力してこの特権アプリケーションを終了します。
    • の出力tcpdumpがフラッディングの場合、攻撃されます。そのような場合は、この出力と上記の3つのコマンド出力の抜粋を投稿してください。

私はまだこれをテストすることができませんでしたが、私ができるとき、私はそれを試してみます。期限切れを防ぐための賞金を授与しました。ご提案ありがとうございます。
10

次のテストには非常に興味があります。同じ種類の問題を再現するのが困難だったからです…そして私はそれを殺さなければなりません!
ダン

3

sysdiagnoseツールを使用すると、これを簡単に追跡できます。

ブラウザがウェッジされてエラーを吐き出したら、ターミナルを開いてブラウザ名を引数としてスクリプトに追加します:(Safariがクラッシュした場合)

 sysdiagnose Safari

このツールは呼び出します sudo、パスワードを入力する必要があります(画面に表示されないため、sudoを初めて使用する場合はゆっくり入力するか、入力されていない場合はパスワードを誤って入力する傾向があります)。

この時点で、巨大なシステム診断tar.gzファイルが/ private / var / tmpに保存されます。これをデスクトップにコピーして、穴を開けます。それは干し草の山で針を探すのに少し似ていますが、バグやリソースが再びトリガー/使用されるまで、再起動によって物事が機能する場合、いくつかのリソースが満たされていることを確認できます。


アドバイスをありがとう!緊急の作業を完了するために再起動する必要があったため、現在問題は発生していません。私はあなたの提案を試してみて、それが次に来たときに応答を送信します。
10

いいですね-問題を診断できない場合は、バグレポートをAppleに送信することもできます。問題のトラブルシューティングを支援するために返信することはないと思われますが、問題を解決するために管理者が送信したデータの根本的な問題を解決できる場合があります。
bmike

2

ルーティングテーブルを確認します(実行 netstat -rnターミナルで)。この問題は、再起動後も続きます。

TCP / IPを無効にして(システム環境設定»ネットワーク»Wi-Fi»詳細»TCP / IP)、Wifi / EthernetインターフェースのTCP / IPを再度有効にして、同様の問題を解決しました。


1

この問題は、システムメモリに関連する可能性は低いですが、代わりにネットワークバッファに関連しています。netstat -mの出力を表示してください。

どのVPNソフトウェアを使用していますか?VPNを使用していないときに問題が発生しましたか?


0

いくつかの提案がありますが、既にそれらを試しているかもしれません。

  1. どこでもキャッシュをクリアします... CocktailまたはMacPilotを実行して、すべてを破棄します。
  2. Internet Plug-insメインLibraryフォルダー内のフォルダーをクリアします。すべてのブラウザがそれらを使用します。
  3. また、何が起こるかを確認するために、新しい新しいユーザーアカウントを作成し、そこでテストすることをお勧めします。

0

私の友人はかつてGoogle Chromeで同様の問題に遭遇し、RAMをそのように引き出していました。Activity Monitorでこの問題が発生した場合、どのプログラムがどのくらいのRAMを使用しているかを確認できます。Google Chromeのサブオペレーションがある場合は、再インストールしてみてください。


0

たくさんのブラインド実験の後、解決策を見つけました!ロードに失敗しているIPブロックのルーティングテーブルにエントリを手動で作成すると、問題が修正されます。

ステップ1:ロードするサイトのIPアドレスを見つけます。

あなたは使ってこれを行うことができpingdigまたはnslookup(参照この質問の詳細については)。

ステップ2:ゲートウェイのIPアドレスを見つける

これは、ネットワークコントロールパネル、からifconfig、またはnetstat -rn「default」エントリの横にあるIPアドレスを実行して確認することで見つけることができます。

手順3:影響を受けるIPアドレスまたはブロックのルーティングテーブルエントリを作成する

コマンドを使用する sudo route add [affected IP address] [gateway IP address]

私のように、一度にIPブロック全体でこの問題が発生した場合、/ 8ブロック全体を入力できます。たとえば、アクセスしたいサイトのアドレスがの場合173.231.155.34、次のように入力できますsudo route add 173.0.0.0/8 [gateway IP address]

これはかなり悪い解決策です。別のゲートウェイアドレスを持つネットワークに変更する場合、または再起動する場合は、これらすべてを手動で再入力する必要があります。そして、そもそもなぜこれが起こったのかはまだ説明されていません。しかし、以前は完全にホースがかかっていたときに、コンピューターを使用できました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.