특정 웹 사이트를로드하려고 할 때 "메모리 부족"오류가 발생합니다 (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.