Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 SQL Server 2005 не видит всех процессоров  [new]
Andraptor
Member

Откуда: Ukraine, Kharkiv
Сообщений: 291
Microsoft SQL Server 2005 - 9.00.5057.00 (X64)   Mar 25 2011 13:33:31   Copyright (c) 1988-2005 Microsoft Corporation  Enterprise Edition (64-bit) on Windows NT 6.1 (Build 7601: Service Pack 1) 

Итак, имеем сервер IBM x5, 4-е десятиядерных процессора с гипертрейдингом, т.е. логических 80 процессоров.
Windows Server 2008R2 Enterprise SP1.
SQL Server 2005 Enterprise SP4.

Windows определил все 80 процессоров.
SQL server определил только 40 процессоров.

select * from sys.dm_os_sys_info

cpu_ticks            ms_ticks             cpu_count   cpu_ticks_in_ms      hyperthread_ratio physical_memory_in_bytes virtual_memory_in_bytes bpool_committed bpool_commit_target bpool_visible stack_size_in_bytes os_quantum           os_error_mode os_priority_class max_workers_count scheduler_count scheduler_total_count deadlock_monitor_serial_number
-------------------- -------------------- ----------- -------------------- ----------------- ------------------------ ----------------------- --------------- ------------------- ------------- ------------------- -------------------- ------------- ----------------- ----------------- --------------- --------------------- ------------------------------
2813215747233 281321563 40 10000 20 137372524544 8796092891136 15641580 15641580 15641580 2093056 40000 5 32 1088 40 46 69574

из соотношения hyperthread_ratio и cpu_count делаю вывод что исспользуется только 2 физических процессора.

Смотрю в SQL логе:
2011-12-28 18:43:04.43 Server      (c) 2005 Microsoft Corporation.
2011-12-28 18:43:04.43 Server All rights reserved.
2011-12-28 18:43:04.43 Server Server process ID is 6936.
2011-12-28 18:43:04.43 Server Authentication mode is MIXED.
2011-12-28 18:43:04.43 Server Logging SQL Server messages in file 'G:\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\ERRORLOG'.
2011-12-28 18:43:04.43 Server This instance of SQL Server last reported using a process ID of 6252 at 28.12.2011 18:43:00 (local) 28.12.2011 16:43:00 (UTC). This is an informational message only; no user action is required.
2011-12-28 18:43:04.43 Server Registry startup parameters:
2011-12-28 18:43:04.45 Server -d G:\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\master.mdf
2011-12-28 18:43:04.45 Server -e G:\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\ERRORLOG
2011-12-28 18:43:04.45 Server -l G:\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\mastlog.ldf
2011-12-28 18:43:04.45 Server -g 1024
2011-12-28 18:43:04.45 Server SQL Server is starting at normal priority base (=7). This is an informational message only. No user action is required.
2011-12-28 18:43:04.45 Server Detected 40 CPUs. This is an informational message; no user action is required.
2011-12-28 18:43:04.45 Server Large Page Extensions enabled.
2011-12-28 18:43:04.45 Server Large Page Granularity: 2097152
2011-12-28 18:43:04.47 Server Large Page Allocated: 32MB
2011-12-28 18:43:04.47 Server Large Page Allocated: 32MB
2011-12-28 18:43:04.56 Server Using locked pages for buffer pool.
2011-12-28 18:43:04.75 Server Using dynamic lock allocation. Initial allocation of 2500 Lock blocks and 5000 Lock Owner blocks per node. This is an informational message only. No user action is required.
2011-12-28 18:43:04.75 Server Lock partitioning is enabled. This is an informational message only. No user action is required.
2011-12-28 18:43:04.78 Server Multinode configuration: node 0: CPU mask: 0x000000fffff00000 Active CPU mask: 0x000000fffff00000. This message provides a description of the NUMA configuration for this computer. This is an informational message only. No user action is required.
2011-12-28 18:43:04.79 Server Multinode configuration: node 1: CPU mask: 0x00000000000fffff Active CPU mask: 0x00000000000fffff. This message provides a description of the NUMA configuration for this computer. This is an informational message only. No user action is required.

мой вывод подтверждается, используется только 2 физических процессора вместо 4-х.
В мониторе ресурсов Windows так же 2 NUMA узла активных, 2 бездействуют. И у процессоров в бездействующих узлах статус "остановлено"

Как мне заставить SQL Server использовать все процессоры?!
30 дек 11, 12:15    [11849868]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2005 не видит всех процессоров  [new]
Александр Волок (def1983)
Member

Откуда: Rotterdam
Сообщений: 4959
//http://msdnrss.thecoderblogs.com/2011/11/sql-server-2005-and-2008-versions-may-not-detect-all-available-processors-on-a-machine-with-more-than-64-logical-processors/


Workaround/Fix: A couple of things to consider -

How to utilize > 64 logical processors for SQL instances?

SQL Server 2005/2008 versions cannot utilize more than 64 logical processors and therefore if you would like your SQL server instance to be able to utilize more than 64 processors, the only option is to upgrade to SQL Server 2008 R2.

How to force a SQL Server instance to use the Processor Group with maximum number of logical processors in it? For example, on a machine with 96 CPUs you could have two processor groups, Group # 1 with 64 CPUS and Group # 2 with 32 CPUs. If you have SQL Server 2005/2008 Enterprise installed it can use up to 64 CPUs. In this scenario, you don’t want your SQL Server instance to be associated with Group # 2 that has 32 CPUs. If you would like your SQL Server 2005 and 2008 instances to be able to utilize the processor group that has maximum available processors in it, you can use the sc.exe utility as described in this blog article

How to resolve issues with uneven processor group assignment? Apply Windows Server 2008 R2 hotfix as described in KB 2510206

How to manually assign processor groups to specific NUMA nodes? Follow instructions in KB 2506384


В общем, если нет возможности миграции на SQL 2008 R2, то отключайте hyperthreading, и используйте 40 реальных ядер.
Я советую HT отключать в любом случае...
30 дек 11, 23:46    [11852256]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2005 не видит всех процессоров  [new]
andrey odegov
Member

Откуда:
Сообщений: 473
очень интересно что возвращает sys.dm_os_schedulers?
и, того, с НГ ;)
31 дек 11, 23:20    [11853968]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2005 не видит всех процессоров  [new]
Andraptor
Member

Откуда: Ukraine, Kharkiv
Сообщений: 291
С Новым Годом!!!!
Спасибо за ответы!
Александр Волок (def1983)
В общем, если нет возможности миграции на SQL 2008 R2, то отключайте hyperthreading, и используйте 40 реальных ядер.
Я советую HT отключать в любом случае...

На 2008 R2 возможности нет перейти.
HT я как раз собирался отключать... будем ждать окончания годового отчета, чтоб сервак перегрузить :)
1 янв 12, 15:01    [11854622]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2005 не видит всех процессоров  [new]
Andraptor
Member

Откуда: Ukraine, Kharkiv
Сообщений: 291
Hyper Threading отключил, все ядра SQL Server увидел!!!!

2012-01-11 18:14:31.380 Server       Multinode configuration: node 0: CPU mask: 0x00000000000ffc00 Active CPU mask: 0x00000000000ffc00. This message provides a description of the NUMA configuration for this computer. This is an informational message only. No user action is required.
2012-01-11 18:14:31.380 Server Multinode configuration: node 1: CPU mask: 0x00000000000003ff Active CPU mask: 0x00000000000003ff. This message provides a description of the NUMA configuration for this computer. This is an informational message only. No user action is required.
2012-01-11 18:14:31.380 Server Multinode configuration: node 2: CPU mask: 0x000000003ff00000 Active CPU mask: 0x000000003ff00000. This message provides a description of the NUMA configuration for this computer. This is an informational message only. No user action is required.
2012-01-11 18:14:31.380 Server Multinode configuration: node 3: CPU mask: 0x000000ffc0000000 Active CPU mask: 0x000000ffc0000000. This message provides a description of the NUMA configuration for this computer. This is an informational message only. No user action is required.
11 янв 12, 20:21    [11888453]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2005 не видит всех процессоров  [new]
aleksey_fomchenko
Member

Откуда: Москва
Сообщений: 1014
Пробовал ли кто возможность привязки запуска SQL Server 2005 на определенном Processor Group?
У меня тоже не равные группы (20 и 60 ядер). Вот и хочу запустить на второй группе.
Манипуляции с риестром пока не принесли плодов:
http://blogs.msdn.com/b/psssql/archive/2012/01/23/assigning-sql-server-sql-agent-to-a-processor-group-oom-hang-performance-counters-always-zero-for-buffer-pool.aspx

Есть у когото выхшо - поделитесь опытом.
2 фев 12, 08:23    [12016614]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2005 не видит всех процессоров  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 34008
Блог
aleksey_fomchenko,

так пробовали?
http://msdn.microsoft.com/ru-ru/library/ms186255(v=sql.105).aspx
2 фев 12, 08:39    [12016651]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2005 не видит всех процессоров  [new]
aleksey_fomchenko
Member

Откуда: Москва
Сообщений: 1014
То Критик
До этого пункта мне надо решить мой вопрос. Так, что не то.
3 фев 12, 00:33    [12023246]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: SQL Server 2005 не видит всех процессоров  [new]
tyratam
Member

Откуда:
Сообщений: 121
а у меня без гипертридинга 80 ядер. приплыли ;(!!!!
24 июн 13, 17:30    [14475759]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить