Windows Server 2008 R2의 이상한 메모리 사용


20

누군가 도울 수 있기를 바랍니다. 우리는 16GB RAM을 가진 Windows Server 2008 R2 시스템을 가지고 있으며 사용 가능한 모든 메모리를 계속 사용하고 있습니다. 의 어떠한 작업 관리자 또는 리소스 모니터 3백메가바이트 위의 메모리를 사용하는 과정을 보여준다하지 ...하지만 서버의 메모리 사용량은 15.7GB입니다.

https://i784.photobucket.com/albums/yy129/ThunderPeel2001/ram-usage.gif

SQL Server 2008IIS7.5 (ASP.Net 포함) 만 실행됩니다 .

참고 : 재부팅 후 RAM 사용량이 낮게 시작되어 작동합니다. 일주일 정도 지나면 우리는이 상황에서 스스로를 계속 찾습니다.

우리의 모든 기억을 먹고있는 것을 어떻게 알 수 있습니까? :(


1
"지금 SQL Server RAM 사용량 (최소 / 최대)을 13GB로 제한 한 후에는 이런 일이 다시 발생하지 않아야합니다." SQL 2008 R2와 함께 Win 2008 R2 컴퓨터를 실행 중이며 동일한 문제가 발생합니다.

SQL Server Studio의 설정입니다. 행운을 빕니다!
Django Reinhardt

답변:


15

이 서버는 64 비트 서버입니까? 메모리 로컬 정책의 잠금 페이지를 사용합니까? SQL이 나머지 메모리를 소비 할 가능성이 있음 perfmon 카운터를 보면 메모리 할당이 표시됩니다.

여기에 깊이를 설명하는 기사가 있습니다.

SQL에서 카운터를 볼 수도 있습니다

SELECT
    object_name
   ,Counter_name
   ,cntr_value
   ,ROUND(( cntr_value * 8192.0 ) / 1048576, 0) AS cntr_value_MB
FROM
    sys.dm_os_performance_counters
WHERE
    object_Name LIKE '%Buffer Manager%'
    AND RTRIM(counter_name) IN ( 'Free pages', 'Total pages',
                                 'Database pages' ) 
UNION SELECT
    object_name
   ,Counter_name
   ,cntr_value
   ,ROUND(( cntr_value / 1024 ), 0) AS cntr_value_MB
FROM
    sys.dm_os_performance_counters
WHERE
    counter_name IN ( 'Target Server Memory (KB)',
                      'Total Server Memory (KB)' )

2
이것은 모든 것을 설명합니다. 메모리 사용은 "사용 가능한 모든 사용"(예 : 2000TB)이었고 페이지가 RAM에 잠겨 있었기 때문에 사용 중일 때 모든 것이 액세스 할 수 없었습니다. 이제 SQL Server RAM 사용량 (최소 / 최대)이 13GB로 제한되었으므로 다시는 발생하지 않습니다. 이제 변경 사항을 감시 할 수있는 몇 가지 도구가 있습니다. 당신의 도움을 주셔서 감사합니다!
Django Reinhardt 2012

>> 이제 변경 사항을 확인할 수있는 몇 가지 도구가 있습니다. 어떤 도구를 사용하셨습니까?
David Christiansen

6

빠른 테스트 : SQL Server를 다시 시작하십시오.
또 다른 빠른 테스트 : IIS를 다시 시작하십시오.

그들 중 하나가 범인인지 또는 다른 곳을 봐야하는지 확실히 알 수 있습니다.


SQL이 범인이었던 것 같습니다!
Django Reinhardt


1

실제로 메모리 관련 문제가 있습니까?

메모리 사용량 이 실제 설치된 메모리보다 높아지 거나 채워져 그대로 유지됩니까?

메모리가 가득 찼지만 아무런 문제가 없다면 캐시는 작업을 수행하는 것입니다. 메모리는 실제로 필요할 때 자동으로 실현됩니다 .

메모리 사용량이 물리적 한계를 초과하고 서버가 중단되면 약간의 메모리 누수가 발생하여 메모리를 디버깅해야합니다.

"캐시"주제에 대한 흥미로운 기사 :

http://blogs.msdn.com/ntdebugging/archive/2007/11/27/too-much-cache.aspx
http://blogs.msdn.com/ntdebugging/archive/2007/10/10/the-memory -shell-game.aspx
http://blogs.msdn.com/ntdebugging/archive/2009/02/06/microsoft-windows-dynamic-cache-service.aspx


RAM이 계속 부족하여 서버를 재설정하지 않고 중요한 Windows 업데이트를 설치할 수 없었습니다. 꽤 우스운. 그것을 사용하고 있던 것은 그것을 돌려주고 싶지 않았습니다.
Django Reinhardt


0

첫 번째는 이전에 말했듯이 패치하여 문제가 해결되는지 확인하는 것입니다.

둘째, 그래도 작동하지 않으면 프로세스 탐색기 를 사용하여 메모리 사용량을 더 잘 살펴보십시오. 보기 메뉴로 이동 한 다음 열 선택, 메모리 처리 및 개인 바이트, 가상 크기 및 작업 세트 크기 옵션을 확인하십시오. 그것이 여기에 책임이있는 것을 나타내는 지보십시오.

그런 다음 서비스를 중단하는 것이 과감한 접근 방식입니다. 예를 들어 응용 프로그램 풀과 웹 가든이 잘못 구성되어 (너무 많은 경우) IIS는 총 메모리 피그가 될 수 있습니다.

행운을 빕니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.