ได้รับข้อผิดพลาด "หน่วยความจำไม่เพียงพอ" เมื่อพยายามโหลดเว็บไซต์บางแห่ง (ไม่ใช่ RAM)


15

อัปเดต:โซลูชันของ Rich (พร้อมเครื่องหมายถูก) แก้ไขปัญหาของฉันได้! ฉันยังโพสต์คำตอบด้วยวิธีแก้ไขปัญหาที่อาจช่วยได้หากโซลูชันของ Rich ไม่ได้ผลสำหรับคุณ คำตอบที่ได้รับรางวัลนั้นดีที่สุดในเวลานั้น แต่มันไม่มีทางออกที่แท้จริง (แม้ว่ามันจะช่วยแก้ไขปัญหา)


ฉันประสบปัญหาว่าคอมพิวเตอร์ของฉัน (Macbook Pro, 8GB RAM, OS 10.8) จะไม่พยายามโหลดเว็บไซต์บางเว็บไซต์ ไม่มีอะไรแก้ไขได้ยกเว้นการรีบูตเครื่อง สิ่งนี้เกิดขึ้นเมื่อไม่มีอะไรผิดปกติกับคอมพิวเตอร์หรือการเชื่อมต่ออินเทอร์เน็ตของฉันและเมื่อไซต์อื่น ๆ โหลดโดยไม่มีปัญหา

เมื่อสิ่งนี้เกิดขึ้นนี่คือข้อผิดพลาดที่ฉันได้รับ:

  • Chrome :Error 13 (net::ERR_OUT_OF_MEMORY)
  • Safari :"The error is: 'The operation couldn't be completed. Cannot allocate memory.' (NSPOSIXErrorDomain:12)"
  • Firefox : ไม่มีการตอบสนองหลังจากป้อน URL และกดส่งคืน (ไม่มีข้อความแสดงข้อผิดพลาดไม่มีการสั่นเพื่อระบุว่ากำลังโหลดหรือพยายามติดต่อเว็บไซต์)
  • 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
    

(หลังจากที่ฉันยกเลิกไป)

ครั้งแรกที่ฉันสังเกตเห็นสิ่งนี้เกิดขึ้นกับหนึ่งหรือสองไซต์ที่ฉันพยายามเข้าชม ฉันยังสามารถใช้ Facebook และ Google ได้ ต่อมาในวันที่ข้อผิดพลาดขยายไปยัง Facebook และ Google เช่นกัน หลังจากรีบูตเว็บไซต์เหล่านั้นก็สามารถเข้าถึงได้อีกครั้ง แต่หลังจากนั้นฉันก็ไม่สามารถเข้าถึงเว็บไซต์อื่น ๆ ได้ (stackexchange.com, surveygizmo.com)

หมายเหตุอื่น ๆ :

  • ฉันสามารถยืนยันได้ว่าสิ่งนี้เกิดขึ้นในหลายเครือข่ายไร้สายและ VPN
  • ในขณะนี้เกิดขึ้นฉันมี RAM 2 GB "ไม่ทำงาน" และ 500 MB "ฟรี" จากทั้งหมด 8 GB ดังนั้นฉันจึงไม่ได้อยู่ในความทรงจำจริง ๆ เว็บไซต์และแอปพลิเคชั่นอื่น ๆ กำลังตอบสนองอย่างฉับพลันและไม่มีสัญญาณของการแลกเปลี่ยนมากเกินไป
  • การตอบสนองจาก ping ดูเหมือนว่าจะแนะนำว่าปัญหาจะไม่ส่งผลกระทบต่อ DNS (แม้ว่าที่อยู่ IP อาจถูกแคชไว้ที่ใดที่หนึ่ง)

ฉันพบการอ้างอิงอื่นถึงปัญหานี้ในชุดการสนับสนุน Appleเท่านั้น ไม่พบวิธีแก้ไขยกเว้นสำหรับการเริ่มระบบใหม่

หมายเหตุ: นี่ไม่ใช่ปัญหาของ RAM หมด

การตรวจสอบกิจกรรมแสดงหน่วยความจำที่ว่าง / ไม่ได้ใช้งานจำนวนมาก ไม่มีเพจจิ้งมากเกินไป เว็บไซต์อื่น ๆ โหลดโดยไม่มีปัญหา อาจมีข้อผิดพลาดในการจัดสรรหน่วยความจำประเภทอื่นเกิดขึ้น แต่ฉันไม่สามารถจินตนาการได้ว่าวิธีใดที่การขาดแคลน RAM แบบเดิมจะทำให้เว็บไซต์บางแห่งไม่สามารถทำงานได้โดยไม่ส่งผลกระทบต่อประสิทธิภาพการทำงาน


ฟังดูแล้วเหมือนกับว่าคุณไม่มี RAM โดยทั่วไปใช่ไหม ดูว่าหน่วยความจำของคุณกำลังไปที่ใด
เจอร์รี่

ขอบคุณ แต่ฉันไม่คิดว่านั่นเป็นปัญหา ไม่มีสัญญาณของความล่าช้าหรือการแลกเปลี่ยนเมื่อสิ่งนี้เกิดขึ้น มันทำให้ฉันเกิดข้อผิดพลาดทันที โปรแกรมและแท็บอื่น ๆ ของเบราว์เซอร์ยังคงตอบสนองต่อโดยไม่ชักช้า นอกจากนี้ RAM ที่มีอยู่ 2.5G นั้นค่อนข้างเยอะ (ยกเว้นบางสิ่งที่เสียอย่างรุนแรงและไม่สามารถจัดสรรหน่วยความจำที่ไม่ได้ใช้งานใหม่)
ตุลาคม

อาจเป็นไปได้ว่ามีบางสิ่งบางอย่างขาดหายไป แต่ก็ไม่ใช่ปัญหาการสืบค้น แต่โดยทั่วไปเกี่ยวข้องกับการจัดการหน่วยความจำของคุณ
Gerry

หลังจากหยุดพักปัญหากลับมาอีกครั้ง ครั้งนี้มันทำให้ฉันไม่สามารถไปยังไฟล์งานใด ๆ ของฉันได้ดังนั้นฉันจึงต้องการการแก้ไข! เพิ่มเงินรางวัล
ตุลาคม

2
ปัญหานี้ไม่น่าจะเกี่ยวข้องกับหน่วยความจำระบบ แต่เป็นปัญหาของบัฟเฟอร์เครือข่าย netstat -mโปรดแสดงให้เราเห็นการส่งออกของ คุณใช้ VPN อะไรอยู่ คุณเห็นปัญหาเมื่อไม่ได้ใช้ VPN หรือไม่
AndrewNimmo

คำตอบ:


6

ฉันไม่สามารถรับเครือข่ายของฉันกลับมาได้โดยปิดใช้งานและเปิดใช้งาน TCP / IP หรือ Wi-Fi อีกครั้ง ดูเหมือนว่าในกรณีของฉันคอมพิวเตอร์เข้าสู่โหมดสลีปด้วยการเชื่อมต่อ Juniper VPN และเมื่อมันปลุกการเชื่อมต่อนั้นหมดเวลาและเส้นทางไม่ได้ถูกกำจัด สำหรับฉันฉันมีคอมพิวเตอร์สองเครื่องเครื่องหนึ่งทำงานได้ แต่เครื่องหนึ่งไม่สามารถระบุปัญหาได้หลังจากใช้งานnetstat -rnแล้ว

บนคอมพิวเตอร์ที่ไม่ทำงานฉันมีปลายทาง 192.168.43.1 ที่มีเกตเวย์ของลิงก์ # 5 บนคอมพิวเตอร์ที่ใช้งานได้เกตเวย์สำหรับปลายทางนั้นคือที่อยู่ mac ของเราเตอร์ไร้สายดังนั้นฉันจึงลบเส้นทางนั้นด้วย:

sudo route delete -host 192.168.43.1

หลังจากนี้ฉันสามารถ ping เราเตอร์ไร้สายและกลับไปยังอินเทอร์เน็ต

บางคนอ้างว่าไปที่การตั้งค่า→เครือข่าย→ Wi-Fi →ขั้นสูง→พร็อกซีและการเปิดการค้นหาพร็อกซีอัตโนมัติทำงานสำหรับพวกเขา ฉันไม่สามารถตรวจสอบสิ่งนี้ได้เนื่องจากการเชื่อมต่อของฉันได้รับการแก้ไขโดยการลบเส้นทาง 'ตาย'


มันใช้งานได้! และแตกต่างจากโซลูชันของฉันจริง ๆ แล้วมันแก้ไขปัญหาพื้นฐานและช่วยอธิบายสิ่งที่เกิดขึ้น ขอขอบคุณ!
ตุลาคม

เมื่อมองย้อนกลับไปดูเหมือนว่าลูกค้าของจูนิเปอร์ก็เป็นสาเหตุของปัญหาของฉันเช่นกัน ตอนนี้ฉันสามารถรายงานได้ว่าปรากฏการณ์นี้ไม่เกิดขึ้นอีกเนื่องจากองค์กรของฉันหยุดใช้ Juniper และเปลี่ยนไปใช้อินเทอร์เฟซ VPN ดั้งเดิมของ OS X
ตุลาคม

4

นี่ไม่ใช่ RAM หรือปัญหาที่เกี่ยวข้องกับดิสก์

นี่เป็นปัญหาเคอร์เนลเนื่องจากพฤติกรรมที่ไม่เหมาะสมของหนึ่งในอินเตอร์เฟสเครือข่ายของคุณ ต่อไปนี้เป็นคำสั่งเล็กน้อยที่จะเริ่มต้นค้นหาที่มาของปัญหานี้เมื่อมันเกิดขึ้น:

  • netstat -mm จะให้ข้อมูลโดยละเอียดเกี่ยวกับการใช้พูลบัฟเฟอร์ของคุณ
  • netstat -I en0หากส่วนต่อประสานเครือข่ายที่ใช้งานจริงของคุณคือen0(Ethernet) จะแสดงข้อผิดพลาดที่แท้จริง (Ierrs, Oerrs) ให้คุณเห็น
  • netstat -r จะแสดงให้คุณเห็นหากเส้นทางของคุณไปยังส่วนอื่น ๆ ของโลกนั้นถูกต้อง

พฤติกรรมที่ไม่เหมาะสมนี้อาจเป็นผลมาจากการโจมตีเครือข่ายอัตโนมัติหรือเป้าหมาย หากคุณสงสัยว่าคุณอาจกำลังเผชิญกับกรณีดังกล่าวนี่เป็นวิธีในการมองความจริงในสายตา:

  • ออกจากการประยุกต์ใช้เครือข่ายใด ๆ ( Safari, Mail, ssh... ) เพื่อที่จะ จำกัด ที่รู้จักกันเสียงของคุณเอง (บนอินเตอร์เฟซเครือข่ายของคุณ);
  • เปิด a Terminalและ type: /usr/bin/sudo tcpdump -i en0(หากส่วนต่อประสานของคุณคือen0== Ethernet);
    • หากเอาต์พุตของtcpdumpเงียบอยู่คุณจะไม่ถูกโจมตีเพียงออกจากแอปพลิเคชั่นที่มีสิทธิ์นี้โดยพิมพ์ control-C
    • หากผลลัพธ์ของtcpdumpน้ำท่วมคุณถูกโจมตี หากคุณอยู่ในกรณีดังกล่าวโปรดโพสต์แยกของเอาต์พุตนี้และเอาต์พุต 3 คำสั่งข้างต้น

ฉันยังไม่สามารถทดสอบสิ่งนี้ได้ แต่ฉันจะลองเมื่อฉันสามารถทำได้ ฉันได้รับรางวัลเพื่อป้องกันไม่ให้มันหมดอายุ ขอขอบคุณสำหรับคำแนะนำของคุณ.
ตุลาคม

ฉันสนใจอย่างมากจากการทดสอบต่อไปนี้ของคุณเพราะฉันมีปัญหาในการทำซ้ำแบบเดียวกันและต้องฆ่ามัน!
แดน

3

สิ่งนี้ควรจะค่อนข้างง่ายต่อการติดตามด้วยเครื่องมือ sysdiagnose

เมื่อคุณได้รับเบราว์เซอร์ที่มีข้อผิดพลาดและมีข้อผิดพลาดเปิดเทอร์มินัลและเพิ่มชื่อเบราว์เซอร์เป็นอาร์กิวเมนต์สำหรับสคริปต์: (ดังนั้นหาก Safari ล้มเหลว)

 sysdiagnose Safari

เครื่องมือนี้จะเรียกsudoว่าต้องการให้คุณพิมพ์รหัสผ่านของคุณ (มันจะไม่แสดงบนหน้าจอดังนั้นให้พิมพ์ช้าๆถ้าคุณยังใหม่กับ sudo หรือมีแนวโน้มที่จะพิมพ์รหัสผ่านผิดถ้าคุณไม่เห็นมันถูกพิมพ์)

ณ จุดนี้คุณจะได้รับไฟล์การวิเคราะห์ระบบขนาดใหญ่ tar.gz เก็บไว้ใน / private / var / tmp ที่คุณสามารถคัดลอกไปยังเดสก์ท็อปของคุณและเจาะรูขุมขนได้ มันจะเป็นเหมือนการมองหาเข็มในกองหญ้า - แต่คุณสามารถมั่นใจได้ว่าทรัพยากรบางอย่างได้รับการเติมหากการรีบูตทำให้สิ่งต่าง ๆ ทำงานจนกว่าข้อผิดพลาดหรือทรัพยากรใด ๆ ที่ถูกทริกเกอร์ / ใช้อีกครั้ง


ขอบคุณสำหรับคำแนะนำ! ฉันต้องรีบูตเพื่อให้งานเร่งด่วนเสร็จสิ้นดังนั้นปัญหาจึงไม่ทำงานในขณะนี้ ฉันจะลองทำตามคำแนะนำของคุณและส่งคำตอบในครั้งต่อไปที่มันเกิดขึ้น
ตุลาคม

ฟังดูดี - คุณสามารถส่งรายงานข้อผิดพลาดไปยัง Apple ได้หากคุณไม่สามารถวิเคราะห์ปัญหาได้ พวกเขามีแนวโน้มที่จะไม่ตอบกลับเพื่อช่วยคุณในการแก้ไขปัญหาของคุณ แต่พวกเขาอาจสามารถแก้ไขปัญหาพื้นฐานกับข้อมูลที่คุณส่งในลักษณะที่ระบบมองหาเมื่อคุณจัดการเพื่อทำลายมันอีกครั้ง
bmike

2

ดูตารางเส้นทางของคุณ (รันnetstat -rnบนเทอร์มินัล) ปัญหานี้ยังคงมีอยู่หลังจากรีบูต

ฉันได้แก้ไขปัญหาที่คล้ายกันโดยการปิดใช้งาน TCP / IP ( การตั้งค่าระบบ»เครือข่าย» Wi-Fi »ขั้นสูง» TCP / IP ) และเปิดใช้งาน TCP / IP อีกครั้งสำหรับอินเทอร์เฟซ Wifi / Ethernet


1

ปัญหานี้ไม่น่าจะเกี่ยวข้องกับหน่วยความจำระบบ แต่เป็นปัญหาของบัฟเฟอร์เครือข่าย กรุณาแสดงให้เราเห็นการส่งออกของ netstat -m

คุณใช้ซอฟต์แวร์ VPN อะไร คุณเห็นปัญหาเมื่อไม่ได้ใช้ VPN หรือไม่


0

คำแนะนำเล็กน้อยแม้ว่าคุณอาจลองใช้แล้ว:

  1. ล้างแคชได้ทุกที่ ... รัน Cocktail หรือ MacPilot เพื่อให้ nuke 'em all
  2. ล้างInternet Plug-insโฟลเดอร์ในLibraryโฟลเดอร์หลัก เบราว์เซอร์ทุกตัวจะใช้งาน
  3. ฉันขอแนะนำให้สร้างบัญชีผู้ใช้ใหม่และทดสอบที่นั่นเพื่อดูว่าเกิดอะไรขึ้น

0

เพื่อนของฉันเคยพบปัญหาที่คล้ายกันกับ Google Chrome ที่มันดึง RAM เช่นนั้น คุณอาจดูว่าโปรแกรมใดกำลังใช้ RAM เท่าใดเมื่อเกิดปัญหากับการตรวจสอบกิจกรรม หากมีการทำงานย่อยของ Google Chrome คุณอาจลองติดตั้งใหม่


0

หลังจากการทดลองตาบอดมากฉันได้พบวิธีแก้ปัญหา! ถ้าฉันสร้างรายการในตารางเส้นทางสำหรับบล็อก IP ที่ล้มเหลวในการโหลดด้วยตนเองมันจะแก้ไขปัญหา

ขั้นตอนที่ 1: ค้นหาที่อยู่ IP สำหรับเว็บไซต์ที่คุณต้องการโหลด

คุณสามารถทำได้โดยใช้ping, digหรือnslookup(ดูคำถามนี้สำหรับรายละเอียด)

ขั้นตอนที่ 2: ค้นหาที่อยู่ IP ของเกตเวย์ของคุณ

คุณสามารถค้นหาได้จากแผงควบคุมเครือข่ายจากifconfigหรือโดยการเรียกใช้netstat -rnและแจ้งที่อยู่ 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.