전용 데이터베이스 서버에서 OS에 예약 할 메모리 양은 얼마입니까?


38

데이터베이스 기능을위한 전용 서버가 있다고 가정하면 운영 체제에 얼마나 많은 메모리를 예약해야합니까?

특정 OS, 특정 데이터베이스 소프트웨어 등에 따라 다소 다를 수 있음을 알고 있습니다. 그러나 메모리는 데이터베이스 성능에 매우 중요하기 때문에 호스트 OS를 고갈시키지 않고 데이터베이스가 최대의 적정 수준의 메모리 를 갖기를 원합니다 .

그래서

  • 처음부터 좋은 규칙은 무엇입니까?
  • 우리가 너무 멀리 가고 호스트 OS가 데이터베이스에 굶주리고 있는지 확인하기 위해 어떤 카운터 또는 성능 표시기를 살펴 봐야합니까?

이 설정을 조정 한 적이 있습니까? 프로파일 링에서 무엇을 말했습니까?
jcolebrand

@jcole은 현재 추가 할 것이 없습니다. 우리는 일반적으로 내가 원하는 것보다 조금 더 보수적 인 OS를 위해 4-6GB를 예약합니다
Jeff Atwood

답변:


30

Windows 및 SQL Server 가정 중 ...

두 개의 사고 학교가 있습니다.

  1. Windows 용 2-4 Gigs를 그대로 두십시오 (SQL Server 이외의 설치 항목에 따라 다름).
  2. 사용 가능한 메모리의 10 %를 비워 두십시오. 64 Gigs 이상을 획득하면 OS를 위해 떠날 수있는 엄청난 양의 메모리가 될 것입니다. 아마도 필요하지 않을 것입니다.

개인적으로 나는 첫 번째 그룹에 있습니다. Windows는 일반적으로 2-4 기가 필요하며 때로는 최대 6입니다.


2
OS의 2 ish 기가 바이트 RAM에 동의합니다.
jcolebrand

동의합니다. 나는 일반적으로 OS에 2GB를 남겨두고 인접한 페이지 파일 공간을 보장합니다. 물론, 마일리지는 다를 수 있으며, 가장 좋은 방법은 설정을 구성하고 성능을 모니터링하며 필요에 따라 신중하게 변경하는 것입니다.
Matt M

2
@matt 맞지만 "운영체제에 메모리가 부족합니까?"를 볼 때 특히 모니터링하는 것이 가장 좋은 방법은 무엇입니까?
Jeff Atwood

1
@ Jeff 내 의견은 정확하지 않았습니다. 메모리의 경우 일반적으로 메모리 : Pages / sec 및 Memory : Available Bytes와 같은 성능 카운터를 봅니다. 자세한 내용은 다음 페이지를 확인하십시오. sql-server-performance.com/articles/audit/…technet.microsoft.com/en-us/library/cc966540.aspx (특히 메모리 병목 현상 섹션)
Matt M

6
@ Jeff Denny의 대답은 옳으며 Perfmon 카운터의 경우 메모리 : 사용 가능한 바이트를보십시오. 512MB 아래로 떨어지면 OS가 고갈 될 위험이 있습니다. 그러나 64 비트 시스템의 파일 캐시도 알고 있어야합니다. 블로그 캐시는 다음과 같은 경우에도 여전히 사용 가능한 것으로 표시됩니다. blogs.msdn.com/b/ntdebugging/archive/2007/11/27/…
Brent Ozar

16

리눅스를 가정하면, 스왑을 끄고 커널이 메모리가 부족하여 커널이 DB 프로세스를 계속 종료한다고 가정하면 OS에 메모리가 부족하다는 좋은 지표입니다. 그 일이 멈출 때까지 물러서십시오. 수백 megs는 일반적으로 충분합니다.


프로필 프로필 프로필의 경우 +1 ~ Jeff askin이기 때문에 확실히 SQLServer 및 Windows라고 가정합니다.;)
jcolebrand

1
그러나 @jcolebrand는 또한 @jeff가 자신이 말하지 않은 것을 알 수 있다는 것을 알고 있습니다. 즉, 의도적으로 모든 플랫폼과 데이터베이스에 대해 열어 두었습니다.
xenoterracide

2
그리고 여전히 그것이 @jeff라는 것을 알고 있습니다. 왜 그는 걱정을 멈추고 Linux를 사랑하는 법을 배울 수 없어야합니까? ;-)
Jürgen A. Erhard

8

Amazon Relational Database Service에서는 메모리 용량에 관계없이 MySQL의 innodb 버퍼 풀을 시스템 메모리의 3/4로 설정했습니다. 다양한 쿼리 버퍼에 대해 연결 당 최대 2 megs를 추가하면 메모리의 10-20 %가 OS에 남을 수 있습니다.


5

브렌트 오자르의 기억력을 읽어야한다 . 그는 왜 당신이 메모리를보아야하는지 그리고 왜 더 많은 메모리가 더 나은 성능과 같은지에 대한 표준 답변을 가지고 있습니다. 일반적으로 4GB 또는 10 %는 OS 용으로 예약되어 있습니다.

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