특정 웹 사이트를로드하려고 할 때 "메모리 부족"오류가 발생합니다 (RAM에서 부족하지 않음)


15

업데이트 : Rich의 솔루션 (확인 표시 포함)이 내 문제를 해결했습니다! 또한 Rich의 솔루션이 효과가없는 경우 도움이 될 수있는 해결 방법으로 답변을 게시했습니다. 현상금을받은 답변은 당시 최고 였지만 실제 해결책은 없습니다 (문제 해결에 도움이되었지만).


컴퓨터 (Macbook Pro, 8GB RAM, OS 10.8)가 특정 웹 사이트를로드하지 못하는 문제가 있습니다. 재부팅을 제외하고는 아무것도 해결되지 않습니다. 컴퓨터 나 인터넷 연결에 다른 문제가없는 경우와 다른 사이트가 문제없이로드 될 때 발생합니다.

이 문제가 발생하면 다음과 같은 오류가 발생합니다.

  • 크롬 :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 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
    

(그 후 취소)

이 사실을 처음 발견했을 때 한 두 사이트를 방문하려고했습니다. 여전히 페이스 북과 구글을 사용할 수있었습니다. 나중에 그 오류는 페이스 북과 구글로 확대되었습니다. 재부팅 후 해당 사이트에 다시 액세스 할 수있게되었지만 나중에 다른 사이트 (stackexchange.com, surveygizmo.com)에 액세스 할 수 없게되었습니다.

다른 참고 사항 :

  • 이것이 여러 무선 네트워크 및 VPN에서 발생 함을 확인할 수 있습니다.
  • 현재 이런 상황이 발생했을 때 총 8GB 중 2GB의 RAM이 "비활성"이고 500MB의 "무료"가 있었기 때문에 실제로 메모리가 부족하지 않습니다. 다른 웹 사이트 및 응용 프로그램이 신속하게 응답하고 있으며 과도한 스와핑의 징후는 없습니다.
  • Ping의 응답은 문제가 DNS에 영향을 미치지 않는다고 제안하는 것 같습니다 (IP 주소가 어딘가에 캐시되었을 수 있음).

이 Apple 지원 스레드 에서이 문제에 대한 다른 참조 만 찾았습니다 . 재부팅 이외의 해결 방법이 없습니다.

참고 : 이것은 RAM 부족 문제가 아닙니다

활동 모니터에 사용 가능한 / 비활성 메모리가 많이 표시됩니다. 과도한 페이징이 없습니다. 다른 웹 사이트는 문제없이로드됩니다. 다른 종류의 메모리 할당 오류가 발생할 수 있지만 오래된 RAM 부족으로 인해 특정 웹 사이트가 비활성화되어 성능에 영향을 미치지 않는 방식은 상상할 수 없습니다.


일반적으로 RAM이 부족한 것처럼 들립니까? 메모리가 어디로 가고 있는지 살펴보십시오.
— Gerry

고마워, 그러나 나는 그것이 문제라고 생각하지 않습니다. 이런 일이 발생할 때 지연이나 교환의 징후는 없습니다. 그것은 즉시 나에게 오류를 준다. 다른 프로그램 및 브라우저 탭은 지연없이 계속 응답합니다. 또한 2.5G의 사용 가능한 RAM은 상당히 많은 양입니다 (문제가 심하게 손상되어 비활성 메모리를 재할 당하지 않는 한).
— octern

아마도 무언가가 깨졌을 수도 있지만 브라우징 문제는 아니지만 일반적으로 메모리 관리와 관련이 있습니다.
— Gerry

휴식 후 문제가 다시 발생합니다. 이번에는 작업 파일에 접근 할 수 없었으므로 수정이 필요합니다! 현상금이 추가되었습니다.
— octern

2
이 문제는 시스템 메모리와 관련이 없지만 네트워크 버퍼와 관련이 없습니다. 의 출력 결과를 알려주십시오 netstat -m. 어떤 VPN을 사용하고 있습니까? VPN을 사용하지 않을 때 문제가 보입니까?
— AndrewNimmo

답변:


6

TCP / IP 또는 Wi-Fi를 비활성화하고 다시 활성화하여 네트워크를 되돌릴 수 없었습니다. 필자의 경우 컴퓨터가 Juniper VPN 연결로 잠자기 상태였으며 다시 깨어 났을 때 연결 시간이 초과되어 경로가 정리되지 않은 것 같습니다. 나를 위해, 나는 두 대의 컴퓨터를 가지고 있었는데, 하나는 작동하고 다른 하나는 작동하지 않아서 문제를 식별 할 수있었습니다 netstat -rn.

작동하지 않는 컴퓨터에서 링크 번호 5의 게이트웨이가있는 목적지는 192.168.43.1입니다. 작동중인 컴퓨터에서 해당 대상의 게이트웨이는 무선 라우터의 mac 주소 였으므로 다음과 같이 해당 경로를 제거했습니다.

sudo route delete -host 192.168.43.1

그 후 무선 라우터를 핑하고 인터넷으로 돌아갈 수있었습니다.

어떤 사람들은 설정 → 네트워크 → Wi-Fi → 고급 → 프록시로 가서 자동 프록시 검색을 켜면 효과가 있다고 주장했습니다. 'dead'경로를 삭제하여 연결이 수정되었으므로이를 확인할 수 없습니다.


작동합니다! 그리고 내 솔루션과 달리 실제로 근본적인 문제를 해결하고 진행 상황을 설명하는 데 도움이됩니다. 감사합니다!
— octern

돌이켜 보면 주니퍼 클라이언트가 내 문제의 원인 인 것 같습니다. 조직에서 Juniper 사용을 중단하고 OS X 기본 VPN 인터페이스로 전환 한 이후이 현상이 다시 발생하지 않았다고보고 할 수 있습니다.
— octern

4

이것은 RAM이나 디스크 관련 문제가 아닙니다.

네트워크 인터페이스 중 하나의 오작동으로 인한 커널 문제입니다. 이 문제가 발생했을 때이 위치를 찾기 시작하는 몇 가지 명령은 다음과 같습니다.

  • netstat -mm 버퍼 풀 사용에 대한 자세한 정보를 제공합니다.
  • netstat -I en0실제 네트워크 인터페이스가 en0(이더넷) 인 경우 실제 오류 (Ierrs, Oerrs)가 표시됩니다.
  • netstat -r 다른 지역으로가는 경로가 올바른지 알려줍니다.

이 오작동은 자동 또는 대상 네트워크 공격의 결과 일 수 있습니다. 당신이 그러한 경우에 직면하고 있다고 의심되는 경우, 여기에서 진실을 바로 보는 방법이 있습니다 :

  • (모든 네트워크 응용 프로그램을 떠나 Safari, Mail, ssh...) 그래서 같은 (네트워크 인터페이스) 자신의 알려진 소음을 제한하기 위해;
  • 를 열고 다음 Terminal을 입력하십시오 : /usr/bin/sudo tcpdump -i en0(인터페이스가 en0== 이더넷 인 경우);
    • 출력 tcpdump이 자동 으로 유지 되면 공격받지 않고 control-C를 입력 하여이 특권 응용 프로그램을 종료하십시오.
    • 의 결과물 tcpdump이 범람하면 공격을받습니다. 이러한 경우,이 출력 및 위의 3 가지 명령 출력에 대한 추출을 게시하십시오.

나는 아직도 이것을 테스트 할 수 없었지만 가능하면 시도해 볼 것입니다. 현상금이 만료되지 않도록 현상금을 수여했습니다. 제안 해 주셔서 감사합니다.
— octern

나는 같은 종류의 문제를 재현하기가 어려웠 기 때문에 다음 테스트에 매우 관심이 있습니다 ... 나는 그것을 죽여야합니다!
— dan

3

sysdiagnose 도구를 사용하면 쉽게 추적 할 수 있습니다.

브라우저에 쐐기가 있고 뱉는 오류가 발생하면 터미널을 열고 브라우저 이름을 스크립트에 인수로 추가하십시오. (Safari가 충돌하는 경우)

 sysdiagnose Safari

이 도구는 sudo암호를 입력 해야하는 전화 를합니다 (화면에 표시되지 않으므로 암호를 입력하지 않으면 sudo를 처음 사용하거나 암호를 잘못 입력하는 경향이 있음).

이 시점에서 / private / var / tmp에 저장된 거대한 시스템 진단 tar.gz 파일을 데스크탑에 복사하여 숨길 수 있습니다. 마치 건초 더미에서 바늘을 찾는 것과 비슷하지만 재부팅을 통해 버그 나 리소스가 다시 트리거되거나 다시 사용될 때까지 작동하면 일부 리소스가 채워질 수 있습니다.


충고 감사합니다! 긴급한 작업을 수행하기 위해 재부팅해야했기 때문에 현재 문제가 해결되지 않았습니다. 나는 당신의 제안을 시도하고 다음에 올 때 응답을 보낼 것입니다.
— octern

잘 들립니다. 문제를 진단 할 수없는 경우 Apple에 버그 보고서를 제출할 수도 있습니다. 문제를 해결하는 데 도움이되지 않을 수도 있지만 시스템을 다시 깰 때 시스템이 어떻게 보이는지에 관해 제출 한 데이터로 근본적인 문제를 해결할 수도 있습니다.
— bmike

2

라우팅 테이블을보십시오 ( netstat -rn터미널에서 실행 ). 이 문제는 재부팅 후에도 지속됩니다.

TCP / IP ( 시스템 환경 설정»네트워크»Wi-Fi»고급»TCP / IP ) 를 비활성화 하고 Wifi / 이더넷 인터페이스에 TCP / IP를 다시 활성화 하여 비슷한 문제를 해결했습니다 .


1

이 문제는 시스템 메모리와 관련이 없지만 네트워크 버퍼와 관련이 없습니다. netstat -m의 출력을 보여주십시오.

어떤 VPN 소프트웨어를 사용하고 있습니까? VPN을 사용하지 않을 때 문제가 보입니까?


0

이미 시도했지만 몇 가지 제안 사항 :

  1. 어디서나 캐시를 비우십시오. Cocktail 또는 MacPilot을 실행하여 모든 것을 제거하십시오.
  2. Internet Plug-ins기본 Library폴더 에서 폴더를 지우십시오 . 모든 브라우저에서 사용합니다.
  3. 또한 새롭고 새로운 사용자 계정을 만들고 테스트하여 그 결과를 확인하는 것이 좋습니다.

0

내 친구는 한때 Chrome과 비슷한 문제가 발생하여 RAM을 가져 왔습니다. Activity Monitor에서이 문제가 발생할 때 RAM이 얼마나 많은 프로그램을 사용하고 있는지 확인할 수 있습니다. Chrome이 하위 작업 인 경우 다시 설치해 볼 수 있습니다.


0

맹목적인 실험을 거친 후 해결책을 찾았습니다! 로드에 실패한 IP 블록에 대한 라우팅 테이블에 항목을 수동으로 생성하면 문제가 해결됩니다.

1 단계 :로드하려는 사이트의 IP 주소를 찾습니다.

다음을 사용하여이 작업을 수행 할 수 있습니다 ping, dig또는 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.