affinity mask 및 affinity i/o mask 질문 답변
affinity mask
1. 인스턴스 별 코어 할당시 sql server instance 가 사용할 cpu core 를 선택하기 위해서
2. affinity i/o mask 가 설정되어 있을때 일반 cpu 작업을 sql server 가 사용하지 않게 하려고. 그래서 sp_configure 에 같이 살아요~
sql server 의 affinity mask 는 작업 관리자에서 프로세스 > 선호도 설정에서도 설정 할 수 있지만, sp_configure 에서 설정하는 것이 sql server 에서 가장 좋습니다. 작업 관리자에서 설정하고 affinity mask 잘못 설정될 경우 예상치 못한 결과가 나올 수 있습니다. soft numa 설정은 http://blogs.msdn.com/b/sqlserverfaq/archive/2010/06/28/how-to-set-soft-numa-for-sql-server-2008-r2.aspx 를 읽어 보세요.
affinity i/o mask
32bit 시스템에서 메모리가 부족한 상황에서 대단히 많은 i/o 프로세싱을 할 때(dirty memory 내리기, 신규 페이지 퍼올리기, 페이지 체크 등) cpu core 를 더 할당해 주기 위한 방법 입니다. 또한 같은 코어를 cpu affinity mask 와 i/o affinity mask 로 등록 하시면 안됩니다.64비트에서는 상대적으로 메모리가 충분 할 수 있으므로 설정할 필요가 없습니다. (메모리를 더 사다 꼽는게 훨씬 유리함) http://blogs.msdn.com/b/psssql/archive/2010/11/19/how-it-works-io-affinity-mask-should-i-use-it.aspx 에서는 64bit 에서는 무시하라고 되어 있습니다.
.