mendapatkan kesalahan "kehabisan memori" ketika mencoba memuat situs web tertentu (saya tidak kehabisan RAM)

15

UPDATE: Solusi Rich (dengan tanda centang) menyelesaikan masalah saya! Saya juga memposting jawaban dengan solusi yang dapat membantu jika solusi Rich tidak berhasil untuk Anda. Jawaban yang menerima hadiah adalah yang terbaik pada saat itu, tetapi tidak memiliki solusi yang sebenarnya (meskipun membantu dalam pemecahan masalah).


Saya mengalami masalah ketika komputer saya (Macbook Pro, 8GB RAM, OS 10.8) tidak akan mencoba memuat situs web tertentu. Tidak ada yang memperbaikinya kecuali untuk me-reboot. Ini terjadi ketika tidak ada hal lain yang jelas salah dengan komputer atau koneksi internet saya, dan ketika situs lain memuat tanpa masalah.

Ketika ini terjadi, berikut adalah kesalahan yang saya dapatkan:

  • Chrome :Error 13 (net::ERR_OUT_OF_MEMORY)
  • Safari :"The error is: 'The operation couldn't be completed. Cannot allocate memory.' (NSPOSIXErrorDomain:12)"
  • Firefox : Tidak ada respons setelah memasukkan URL dan menekan kembali (tidak ada pesan kesalahan, tidak ada denyut untuk menunjukkan bahwa itu memuat atau mencoba menghubungi situs).
  • 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
    

(setelah itu saya membatalkan)

Pertama kali saya perhatikan ini, terjadi pada satu atau dua situs yang saya coba kunjungi. Saya masih bisa menggunakan facebook dan google. Kemudian di hari itu, kesalahan diperluas ke facebook dan google juga. Setelah reboot, situs-situs tersebut dapat diakses kembali, tetapi kemudian saya menjadi tidak dapat mengakses situs lain (stackexchange.com, surveygizmo.com).

Beberapa catatan lain:

  • Saya dapat mengkonfirmasi bahwa ini terjadi pada beberapa jaringan nirkabel dan VPN.
  • Saat ini sedang terjadi saya punya 2 GB RAM "tidak aktif" dan 500 MB "bebas" dari total 8 GB, jadi saya tidak benar-benar kehabisan memori. Situs web dan aplikasi lain merespons dengan cepat dan tidak ada tanda-tanda pertukaran yang berlebihan.
  • Respons dari ping tampaknya menunjukkan bahwa masalah tidak mempengaruhi DNS (meskipun alamat IP bisa di-cache di suatu tempat).

Saya hanya menemukan satu referensi lain untuk masalah ini, di utas dukungan Apple ini . Tidak ada solusi yang ditemukan kecuali me-reboot.

CATATAN: Ini bukan masalah dengan kehabisan RAM

Activity Monitor menunjukkan banyak memori bebas / tidak aktif. Tidak ada jumlah halaman berlebihan yang terjadi. Situs web lain dimuat tanpa masalah. Mungkin ada beberapa jenis kesalahan alokasi memori yang terjadi, tetapi saya tidak bisa membayangkan kekurangan RAM yang lama akan menonaktifkan situs web tertentu, tanpa dampak pada kinerja.

octern
sumber
Kedengarannya bagi saya seperti Anda kehabisan RAM secara umum? Lihatlah ke mana (yang memproses) ingatan Anda.
Gerry
Terima kasih, tapi saya rasa bukan itu masalahnya. Tidak ada tanda-tanda penundaan atau pertukaran ketika ini terjadi; itu langsung memberi saya kesalahan. Program dan tab peramban lainnya terus merespons tanpa penundaan. Juga, 2.5G RAM yang tersedia agak banyak (kecuali ada sesuatu yang rusak parah dan gagal untuk mengalokasikan kembali memori tidak aktif).
octern
Yah sangat mungkin ada sesuatu yang rusak, tetapi itu bukan masalah browsing, tetapi lebih umum terkait dengan manajemen memori Anda.
Gerry
Setelah istirahat, masalahnya kembali lagi. Kali ini mencegah saya dari mendapatkan ke file pekerjaan saya, jadi saya benar-benar membutuhkan perbaikan! Bounty ditambahkan.
octern
2
Masalah ini tidak mungkin terkait dengan memori sistem, tetapi sebaliknya ke buffer jaringan. Tolong tunjukkan kami hasil netstat -m. VPN apa yang Anda gunakan? Apakah Anda melihat masalah ketika Anda tidak menggunakan VPN?
AndrewNimmo

Jawaban:

6

Saya tidak bisa mendapatkan jaringan saya kembali dengan menonaktifkan dan mengaktifkan kembali TCP / IP atau Wi-Fi. Sepertinya dalam kasus saya komputer telah tidur dengan koneksi VPN Juniper dan ketika terbangun kembali koneksi telah kehabisan waktu dan rute tidak dibersihkan. Bagi saya, saya punya dua komputer, satu berfungsi dan satu tidak, sehingga bisa mengidentifikasi masalah setelah berjalan netstat -rn.

Di komputer yang tidak berfungsi, saya memiliki tujuan 192.168.43.1 dengan gateway tautan # 5. Di komputer yang bekerja, gateway untuk tujuan itu adalah alamat mac dari router nirkabel, jadi saya menghapus rute itu dengan:

sudo route delete -host 192.168.43.1

Setelah ini, saya bisa ping router nirkabel saya dan juga kembali ke internet.

Beberapa orang mengklaim bahwa pergi ke Pengaturan → Jaringan → Wi-Fi → Tingkat Lanjut → Proxy dan menyalakan Proxy Discovery Otomatis bekerja untuk mereka. Saya tidak dapat memverifikasi ini karena koneksi saya diperbaiki dengan menghapus rute 'mati'.

Kaya
sumber
Ini bekerja! Dan tidak seperti solusi saya, itu sebenarnya memperbaiki masalah yang mendasarinya dan membantu menjelaskan apa yang terjadi. Terima kasih!
octern
Dalam retrospeksi, sepertinya klien Juniper adalah penyebab masalah saya juga. Saya sekarang dapat melaporkan bahwa fenomena ini belum terulang sejak organisasi saya berhenti menggunakan Juniper dan beralih ke antarmuka VPN asli OS X.
octern
4

Ini bukan RAM atau masalah terkait disk.

Ini adalah masalah kernel karena kesalahan perilaku salah satu antarmuka jaringan Anda. Berikut adalah beberapa perintah untuk mulai menemukan asal masalah ini ketika itu terjadi:

  • netstat -mm akan memberikan informasi rinci tentang penggunaan kolam buffer Anda;
  • netstat -I en0jika antarmuka jaringan Anda yang sebenarnya digunakan en0(Ethernet) akan menunjukkan kepada Anda kesalahan yang sebenarnya (Ierrs, Oerrs);
  • netstat -r akan menunjukkan kepada Anda jika rute Anda ke seluruh dunia benar.

Kesalahan perilaku ini mungkin merupakan konsekuensi dari serangan jaringan otomatis atau bertarget. Jika Anda curiga bahwa Anda mungkin menghadapi kasus seperti itu, berikut adalah cara untuk melihat kebenaran di mata:

  • meninggalkan aplikasi jaringan ( Safari, Mail, ssh...) sehingga untuk membatasi kebisingan diketahui Anda sendiri (pada antarmuka jaringan Anda);
  • buka a Terminaldan ketik: /usr/bin/sudo tcpdump -i en0(jika antarmuka Anda en0== Ethernet);
    • jika output tcpdumptetap diam, Anda tidak diserang, cukup keluar dari aplikasi istimewa ini dengan mengetikkan control-C
    • jika output tcpdumpbanjir, Anda diserang. Jika Anda dalam keadaan seperti itu, silakan posting ekstrak dari output ini dan dari 3 output perintah di atas.
dan
sumber
Saya masih belum bisa menguji ini, tetapi saya akan mencobanya ketika saya bisa. Saya telah memberikan hadiah untuk mencegahnya kadaluwarsa. Terima kasih atas saran Anda.
octern
Saya sangat tertarik dengan tes Anda berikutnya, karena saya memiliki masalah yang sama sulit untuk mereproduksi ... dan saya harus membunuhnya!
dan
3

Ini harus cukup mudah dilacak dengan alat sysdiagnose.

Ketika Anda mendapatkan browser terjepit dan meludah kesalahan, buka terminal dan tambahkan nama browser sebagai argumen ke skrip: (jadi jika Safari mogok)

 sysdiagnose Safari

Alat ini akan memanggil sudoyang mengharuskan Anda mengetikkan kata sandi Anda (itu tidak akan muncul di layar, jadi ketikkan secara perlahan jika Anda baru mengenal sudo atau cenderung salah ketik kata sandi Anda jika Anda tidak melihatnya diketik).

Pada titik ini, Anda akan mendapatkan file tar.gz diagnosis sistem yang sangat besar yang tersimpan di / private / var / tmp yang dapat Anda salin ke desktop Anda dan meneliti. Ini akan sedikit seperti mencari jarum di tumpukan jerami - tetapi Anda dapat yakin beberapa sumber daya diisi jika reboot membuat sesuatu bekerja sampai bug atau sumber daya apa pun dipicu / digunakan kembali.

bmike
sumber
Terima kasih atas sarannya! Saya harus reboot untuk menyelesaikan pekerjaan yang mendesak, sehingga masalahnya tidak aktif saat ini. Saya pasti akan mencoba saran Anda dan mengirim tanggapan lain kali.
octern
Kedengarannya bagus - Anda juga dapat mengirimkan laporan bug ke Apple jika Anda tidak dapat mendiagnosis masalahnya. Mereka mungkin tidak akan menjawab untuk membantu Anda memecahkan masalah Anda, tetapi mereka mungkin dapat memperbaiki masalah mendasar dengan data yang Anda kirim tentang bagaimana sistem terlihat ketika Anda berhasil memecahkannya lagi.
bmike
2

Lihatlah tabel perutean Anda (jalankan netstat -rndi Terminal). Masalah ini bahkan berlanjut setelah reboot.

Saya telah memecahkan masalah serupa yang saya alami dengan menonaktifkan TCP / IP ( System Preferences »Network» Wi-Fi »Advanced» TCP / IP ) dan mengaktifkan kembali TCP / IP untuk antarmuka Wifi / Ethernet.

VincentM
sumber
1

Masalah ini tidak mungkin terkait dengan memori sistem, tetapi sebaliknya ke buffer jaringan. Tolong tunjukkan kepada kami output dari netstat -m.

Perangkat lunak VPN apa yang Anda gunakan? Apakah Anda melihat masalah ketika Anda tidak menggunakan VPN?

AndrewNimmo
sumber
0

Beberapa saran, walaupun Anda mungkin sudah mencobanya:

  1. Bersihkan cache, di mana-mana ... jalankan Cocktail atau MacPilot untuk menyembunyikan semuanya.
  2. Kosongkan Internet Plug-insfolder di Libraryfolder utama . Setiap browser akan menggunakannya.
  3. Saya juga menyarankan untuk membuat akun Pengguna baru yang baru dan mengujinya di sana, hanya untuk melihat apa yang terjadi.
Pixelwiz
sumber
0

Teman saya pernah mengalami masalah yang sama dengan Google Chrome di mana ia menarik RAM seperti itu. Anda mungkin melihat program apa yang menggunakan berapa banyak RAM ketika masalah ini terjadi dengan Monitor Aktivitas. Jika ada sub-operasi Google Chrome maka Anda dapat mencoba menginstalnya kembali.

cbbcbail
sumber
0

Setelah banyak eksperimen buta, saya telah menemukan solusi! Jika saya secara manual membuat entri di tabel perutean untuk blok IP yang gagal dimuat, itu memperbaiki masalah.

Langkah 1: Temukan alamat IP untuk situs yang ingin Anda muat.

Anda dapat melakukannya dengan menggunakan ping, digatau nslookup(lihat pertanyaan ini untuk rincian).

Langkah 2: Temukan alamat IP gateway Anda

Anda dapat menemukan ini dari panel kontrol jaringan, dari ifconfig, atau dengan menjalankan netstat -rndan mencatat alamat IP di sebelah entri "default".

Langkah 3: Buat entri tabel routing untuk alamat atau blokir IP yang terpengaruh

Gunakan perintah sudo route add [affected IP address] [gateway IP address]

Jika, seperti saya, Anda memiliki masalah ini dengan seluruh blok IP sekaligus, Anda dapat memasukkan seluruh blok / 8. Misalnya, jika alamat situs yang ingin Anda jangkau 173.231.155.34, Anda dapat memasukkansudo route add 173.0.0.0/8 [gateway IP address]

Ini solusi yang sangat buruk. Anda harus secara manual memasukkan kembali semua ini jika Anda mengubah ke jaringan dengan alamat gateway yang berbeda, atau jika Anda reboot. Dan itu masih belum menjelaskan mengapa ini terjadi. Tapi itu membuat saya menggunakan komputer saya, ketika sebelumnya saya benar-benar disemprot.

octern
sumber