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

Откуда:
Сообщений: 28
SQL2008R2 + Win2003R2 Enterprise 32x-битный + 1С-Логистика 8.0

комп.-HP ProLiant DL380 G5
2 процессора -2x QuadCore Intel Xeon E5450, 3000 MHz
память - 12288 Мб (DDR2-667 Fully Buffered ECC DDR2 SDRAM)

Проблема в том что sql не использует всю выделенную ему память. Из-за этого в 1С очень долго выполняется обработка заказов.
А в диспетчере задач видно, что sql вместе с ОС больше 1,5-3 Гб памяти не используется, какие бы нагрузки на 1С не были.
В SQL AWE включена
Максимальный размер памяти сервера SQL - 9 Гб
Минимальный размер памяти сервера SQL - 9 Гб

Что странно, на другом сервере в другом подразделении - с памятью все нормально (SQL сразу берет ее сколько ему ее дали), и тесты с 1С по выполнению тех же операций , что и на первом серваке - показал производительность выше в 2,5 раза:
SQL2005 + Win 2003 Enterprise 32x-битный + 1С-Логистика 8.0
процессор - Core i7
память - 12 Гб
Максимальный размер памяти сервера SQL - 2 147 483 647 Мб
Минимальный размер памяти сервера SQL - 0 Мб
в Диспетчере показывает загруженность памяти 11Гб из 12 возможных.
По процессам видно, что основная нагрузка приходится на SQL, т.е. он сразу "захватил" себе максимально возможное количество и использует его. И 1С в 2,5 раза шустрей выполняет те же операции, что делает и первый сервак. Так 1-й сервак мощнее второго раза в 2, как ни больше...

Изанчально сервак видел только 3,5 Гб памяти из 12 возможных. Включил функцию PAE в boot.ini + ECC Advanced в биосе - увидел все 12 Гб памяти.
Затем обнаружил вот такую проблему с памятью. По-идее SQL должен загружать себе сразу 9 Гб памяти (как выделено ему в настройках), а он даже при больших нагрузках больше 3 Гб не грузит, и 1С из-за этого медленно работает.
Я уже пролазил все форумы, какие только мог, искал решение и на этом форуме - ничего не помогло.
Пробовал давать ему 2 147 483 647 Мб - памяти - все равно ее всю не загружает...

Подскажите, может кто сталкивался с чем то подобным. Ну не может быть такого, чтобы не было решения этой проблемы...
9 фев 12, 11:16    [12060141]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008R2 не использует всю выделенную ему память  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
alexanko,

смотрите права на "закрепление страниц в памяти" и не верьте такменеджеру он всегда врет
9 фев 12, 11:22    [12060218]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008R2 не использует всю выделенную ему память  [new]
Eagle_84
Member

Откуда: Москва
Сообщений: 1535
taskmanager не факт, что показывает правильно

смотрите:
select cntr_value/1024 [memory, mb] from sys.sysperfinfo 
where counter_name = 'Total Server Memory (KB)'
9 фев 12, 11:25    [12060243]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008R2 не использует всю выделенную ему память  [new]
alexanko
Member

Откуда:
Сообщений: 28
1. "закрепление страниц" - пользователь добавлен в групповые политики
2. SQLServer:Memory Manager_Total Server Memory (KB) - показывает загрузку 100%
9 фев 12, 11:25    [12060246]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008R2 не использует всю выделенную ему память  [new]
alexanko
Member

Откуда:
Сообщений: 28
..на приведенный выше запрос сервак пишет "отладка запроса" ... и долго он так будет выполняться?
9 фев 12, 11:28    [12060292]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008R2 не использует всю выделенную ему память  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
alexanko,

а вобще это всё танцы с бубном, если хотите номально использовать память больше 3.5 гигов ставьте 64 разрядную версию
9 фев 12, 11:33    [12060361]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008R2 не использует всю выделенную ему память  [new]
Eagle_84
Member

Откуда: Москва
Сообщений: 1535
alexanko
..на приведенный выше запрос сервак пишет "отладка запроса" ... и долго он так будет выполняться?


нет, он должен сразу отработать

"...он даже при больших нагрузках больше 3 Гб не грузит, и 1С из-за этого медленно работает..." может быть ему больше и не нужно.
а 1с может много из-за чего медленно работать и скуль далеко не первая причина :)

а для чего 32 битную версию используете? поставьте 64 версию
9 фев 12, 11:36    [12060400]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008R2 не использует всю выделенную ему память  [new]
alexanko
Member

Откуда:
Сообщений: 28
:) легко сказать...
...нужно будет кучу ключей по 1С поменять тогда, а они дороже на 64 бита, плюс есть программки самописные 32 битные , которые крутятся на этом серваке...
9 фев 12, 11:36    [12060404]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008R2 не использует всю выделенную ему память  [new]
inetedu
Member

Откуда:
Сообщений: 1
Уже сталкивались, решили далее не заворачиваться и поставили 64-битную ОС. При желании конечно можно извратиться и на 32 битах, но чем это обернется в будущем испытывать не хотелось.
9 фев 12, 11:40    [12060450]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008R2 не использует всю выделенную ему память  [new]
alexanko
Member

Откуда:
Сообщений: 28
Не отрабатывает он запрос. 8,5 минут ждал... и прекратил выполнение его
...есть у меня мысль - поставит SP1 и накатить CU ...может поможет...
Только страшновато это делать, да и время тяжело найти чтобы сначала все забэкапить, а после все это проделать...
9 фев 12, 11:41    [12060462]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008R2 не использует всю выделенную ему память  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
alexanko
Не отрабатывает он запрос. 8,5 минут ждал... и прекратил выполнение его
...есть у меня мысль - поставит SP1 и накатить CU ...может поможет...
Только страшновато это делать, да и время тяжело найти чтобы сначала все забэкапить, а после все это проделать...


мертвому припарка ИМХО
9 фев 12, 11:43    [12060480]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008R2 не использует всю выделенную ему память  [new]
alexanko
Member

Откуда:
Сообщений: 28
...Выполнился запрос.
Показал [memory, mb] = 1587
9 фев 12, 11:45    [12060508]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008R2 не использует всю выделенную ему память  [new]
Crimean
Member

Откуда:
Сообщений: 13147
а надо нажимать не "отладка" а "выполнить" в студии потомучто!
9 фев 12, 11:46    [12060518]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008R2 не использует всю выделенную ему память  [new]
alexanko
Member

Откуда:
Сообщений: 28
:)... думал на "Выполнить" нажал....уже растроился... думал с серваком чет вообще не то что то.... не заметил просто
9 фев 12, 11:48    [12060546]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008R2 не использует всю выделенную ему память  [new]
ABC_1982
Member

Откуда: Москва
Сообщений: 418
alexanko
:) легко сказать...
...нужно будет кучу ключей по 1С поменять тогда, а они дороже на 64 бита, плюс есть программки самописные 32 битные , которые крутятся на этом серваке...

Не нужно ключи менять. 1С 32-х битная нормально крутится на 64-х битном сервере. Программки самописные нужно проверять.

Но я бы предложил по возможности вынести SQL Server на отдельный сервер и там развернуть 64-х битную ОС. И, опять-таки по возможности, не 2003, а 2008 R2.
9 фев 12, 12:46    [12061195]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008R2 не использует всю выделенную ему память  [new]
alexanko
Member

Откуда:
Сообщений: 28
ABC_1982
alexanko
:) легко сказать...
...нужно будет кучу ключей по 1С поменять тогда, а они дороже на 64 бита, плюс есть программки самописные 32 битные , которые крутятся на этом серваке...

Не нужно ключи менять. 1С 32-х битная нормально крутится на 64-х битном сервере. Программки самописные нужно проверять.

Но я бы предложил по возможности вынести SQL Server на отдельный сервер и там развернуть 64-х битную ОС. И, опять-таки по возможности, не 2003, а 2008 R2.



:) 1С 8.0 - Логистика v2.0 - либо 64 либо 32 бита. Если бы была Логистика v.3 - тогда да, 32х битный ключ 1С прокатил бы на 64й платформе ОС
9 фев 12, 14:00    [12062094]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008R2 не использует всю выделенную ему память  [new]
alexanko
Member

Откуда:
Сообщений: 28
...сделал выборку параметров, вот что получилось.
...может кто-нибудь поможет разобраться?

name minimum maximum config_value run_value
access check cache bucket count 0 16384 0 0
access check cache quota 0 2147483647 0 0
Ad Hoc Distributed Queries 0 1 0 0
affinity I/O mask -2147483648 2147483647 0 0
affinity mask -2147483648 2147483647 0 0
Agent XPs 0 1 1 1
allow updates 0 1 0 0
awe enabled 0 1 1 1
backup compression default 0 1 0 0
blocked process threshold (s) 0 86400 0 0
c2 audit mode 0 1 0 0
clr enabled 0 1 0 0
common criteria compliance enabled 0 1 0 0
cost threshold for parallelism 0 32767 5 5
cross db ownership chaining 0 1 0 0
cursor threshold -1 2147483647 -1 -1
Database Mail XPs 0 1 0 0
default full-text language 0 2147483647 1049 1049
default language 0 9999 21 21
default trace enabled 0 1 1 1
disallow results from triggers 0 1 0 0
EKM provider enabled 0 1 0 0
filestream access level 0 2 0 0
fill factor (%) 0 100 0 0
ft crawl bandwidth (max) 0 32767 100 100
ft crawl bandwidth (min) 0 32767 0 0
ft notify bandwidth (max) 0 32767 100 100
ft notify bandwidth (min) 0 32767 0 0
index create memory (KB) 704 2147483647 0 0
in-doubt xact resolution 0 2 0 0
lightweight pooling 0 1 0 0
locks 5000 2147483647 0 0
max degree of parallelism 0 32 0 0
max full-text crawl range 0 256 4 4
max server memory (MB) 16 2147483647 9000 9000
max text repl size (B) -1 2147483647 65536 65536
max worker threads 128 32767 2048 2048
media retention 0 365 0 0
min memory per query (KB) 512 2147483647 4096 4096
min server memory (MB) 0 2147483647 9000 9000
nested triggers 0 1 1 1
network packet size (B) 512 32767 4096 4096
Ole Automation Procedures 0 1 0 0
open objects 0 2147483647 0 0
optimize for ad hoc workloads 0 1 0 0
PH timeout (s) 1 3600 60 60
precompute rank 0 1 0 0
priority boost 0 1 1 1
query governor cost limit 0 2147483647 0 0
query wait (s) -1 2147483647 -1 -1
recovery interval (min) 0 32767 0 0
remote access 0 1 1 1
remote admin connections 0 1 0 0
remote login timeout (s) 0 2147483647 20 20
remote proc trans 0 1 0 0
remote query timeout (s) 0 2147483647 600 600
Replication XPs 0 1 0 0
scan for startup procs 0 1 0 0
server trigger recursion 0 1 1 1
set working set size 0 1 0 0
show advanced options 0 1 1 1
SMO and DMO XPs 0 1 1 1
SQL Mail XPs 0 1 0 0
transform noise words 0 1 0 0
two digit year cutoff 1753 9999 2049 2049
user connections 0 32767 0 0
user options 0 32767 0 0
xp_cmdshell 0 1 0 0
9 фев 12, 14:12    [12062223]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008R2 не использует всю выделенную ему память  [new]
invm
Member

Откуда: Москва
Сообщений: 9827
Enabling AWE Memory for SQL Server
9 фев 12, 14:25    [12062355]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008R2 не использует всю выделенную ему память  [new]
alexanko
Member

Откуда:
Сообщений: 28
invm
Enabling AWE Memory for SQL Server



...ничего нового, чего бы я не делал - не нашел...
9 фев 12, 19:18    [12065443]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008R2 не использует всю выделенную ему память  [new]
Igor Glushaev
Member

Откуда:
Сообщений: 176
alexanko
:) легко сказать...
...нужно будет кучу ключей по 1С поменять тогда, а они дороже на 64 бита, плюс есть программки самописные 32 битные , которые крутятся на этом серваке...


А теперь еще раз, мне тупому юзеру 1с, начиная с 8.0, объясни как связаны сервер SQL И сервер 1С? Ну разнеси ты их по двум машинам и все... Если религия не позволяет так поступить, то опять же 32 битный ключик будет прекрасно работать на 64 битной системе. А вот наооборот - не всегда. Ну в самом тяжелом случае, когда нет отдельного железа под два раздельных сервака. подыми виртуальный под сервер 1С...
10 фев 12, 12:45    [12068511]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008R2 не использует всю выделенную ему память  [new]
alexanko
Member

Откуда:
Сообщений: 28
Igor Glushaev
alexanko
:) легко сказать...
...нужно будет кучу ключей по 1С поменять тогда, а они дороже на 64 бита, плюс есть программки самописные 32 битные , которые крутятся на этом серваке...


А теперь еще раз, мне тупому юзеру 1с, начиная с 8.0, объясни как связаны сервер SQL И сервер 1С? Ну разнеси ты их по двум машинам и все... Если религия не позволяет так поступить, то опять же 32 битный ключик будет прекрасно работать на 64 битной системе. А вот наооборот - не всегда. Ну в самом тяжелом случае, когда нет отдельного железа под два раздельных сервака. подыми виртуальный под сервер 1С...



...объясняю. Денег на доп."железо" сейчас действительно нет, это первое. А во вторых, используется не типовая 1С, а 1С-Логистика v2.0(Акселотовская), в которой действительно большие проблемы с ключами 32 <-> 64. Нужно изначально ставить или то или другое.
Если бы была логистика v3 - тогда относительно первой части твоего комментария (32 битный ключик будет прекрасно работать на 64 битной ) согласен.
...делать виртуалку под sql ... не очень вызывет это доверие.. нагрузка высокая и времени даже на 1 час тормозить сервак нет возможности.

...Если не найду решения - буду просить денег на доп. сервак.
10 фев 12, 16:28    [12070770]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008R2 не использует всю выделенную ему память  [new]
alexanko
Member

Откуда:
Сообщений: 28
...обнаружил еще такую проблему - чтобы sql использовал всю выделенную ему память, нужно сделать в групповых политиках - "закрепление страниц в памяти" - SeLockMemoryPrivilege

http://msdn.microsoft.com/ru-ru/library/ms190730.aspx


а когда стал проверять, включилась ли или нет (хотя текущего юзера , добавил. Попробовал сделать даже для "все", "пользователи"....), и обнаружил вот это :
Сведения о привилегиях
----------------------

Имя привилегии Описание Область, край
=============================== ================================================ =============
SeLockMemoryPrivilege Закрепление страниц в памяти Отключен
SeChangeNotifyPrivilege Обход перекрестной проверки включен
SeSecurityPrivilege Управление аудитом и журналом безопасности Отключен
SeBackupPrivilege Архивирование файлов и каталогов Отключен
SeRestorePrivilege Восстановление файлов и каталогов Отключен
SeSystemtimePrivilege Изменение системного времени Отключен
SeShutdownPrivilege Завершение работы системы Отключен
SeRemoteShutdownPrivilege Принудительное удаленное завершение Отключен
SeTakeOwnershipPrivilege Овладение файлами или иными объектами Отключен
SeDebugPrivilege Отладка программ Отключен
SeSystemEnvironmentPrivilege Изменение параметров среды оборудования Отключен
SeSystemProfilePrivilege Профилирование загруженности системы Отключен
SeProfileSingleProcessPrivilege Профилирование одного процесса Отключен
SeIncreaseBasePriorityPrivilege Увеличение приоритета диспетчирования Отключен
SeLoadDriverPrivilege Загрузка и выгрузка драйверов устройств Отключен
SeCreatePagefilePrivilege Создание страничного файла Отключен
SeIncreaseQuotaPrivilege Настройка квот памяти для процесса Отключен
SeUndockPrivilege Извлечение компьютера из стыковочного узла Отключен
SeManageVolumePrivilege Запуск операций по обслуживанию тома Отключен
SeImpersonatePrivilege Олицетворение клиента после проверки подлинности включен
SeCreateGlobalPrivilege Создание глобальных объектов включен
10 фев 12, 16:53    [12071011]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008R2 не использует всю выделенную ему память  [new]
SanyL
Member

Откуда: Москва
Сообщений: 4540
alexanko
Igor Glushaev
пропущено...


А теперь еще раз, мне тупому юзеру 1с, начиная с 8.0, объясни как связаны сервер SQL И сервер 1С? Ну разнеси ты их по двум машинам и все... Если религия не позволяет так поступить, то опять же 32 битный ключик будет прекрасно работать на 64 битной системе. А вот наооборот - не всегда. Ну в самом тяжелом случае, когда нет отдельного железа под два раздельных сервака. подыми виртуальный под сервер 1С...



...объясняю. Денег на доп."железо" сейчас действительно нет, это первое. А во вторых, используется не типовая 1С, а 1С-Логистика v2.0(Акселотовская), в которой действительно большие проблемы с ключами 32 <-> 64. Нужно изначально ставить или то или другое.
Если бы была логистика v3 - тогда относительно первой части твоего комментария (32 битный ключик будет прекрасно работать на 64 битной ) согласен.
...делать виртуалку под sql ... не очень вызывет это доверие.. нагрузка высокая и времени даже на 1 час тормозить сервак нет возможности.

...Если не найду решения - буду просить денег на доп. сервак.


объясняю...

в 32хбитной версии ограничение памяти делает не MS SQL а битность системы - 2^32 может отдать под процесс... все остальное - от ИМХО "лукавого"... Конечно про PAE и /3GB и AWE всем известно - но... вобщем кучу раз обсуждалось... выход - или жить как есть, или переходить на x64.


ps а SQL2008R2 32х битный? или это я отвык от 32битных SQL-серверов что уже решил что SQL2008R2 нет 32хбитного :)
10 фев 12, 17:58    [12071573]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008R2 не использует всю выделенную ему память  [new]
alexanko
Member

Откуда:
Сообщений: 28
...SQL на данном сервеке MS SQL 2008 32х битный

alexanko
SQL2008R2 + Win2003R2 Enterprise 32x-битный + 1С-Логистика 8.0

...

Что странно, на другом сервере в другом подразделении - с памятью все нормально (SQL сразу берет ее сколько ему ее дали), и тесты с 1С по выполнению тех же операций , что и на первом серваке - показал производительность выше в 2,5 раза:
SQL2005 + Win 2003 Enterprise 32x-битный + 1С-Логистика 8.0
процессор - Core i7
память - 12 Гб
Максимальный размер памяти сервера SQL - 2 147 483 647 Мб
Минимальный размер памяти сервера SQL - 0 Мб
в Диспетчере показывает загруженность памяти 11Гб из 12 возможных.
По процессам видно, что основная нагрузка приходится на SQL, т.е. он сразу "захватил" себе максимально возможное количество и использует его. И 1С в 2,5 раза шустрей выполняет те же операции, что делает и первый сервак. Так 1-й сервак мощнее второго раза в 2, как ни больше...
...
проблемы...



...почему тогда на другом серваке "...SQL2005 (32 бит)+ Win 2003 Enterprise 32x-битный + 1С-Логистика 8.0 " все нормально - SQL сразу сожрал 11 Гб из 12 возможных, и скорость обработки операций на нем в 2-2,5 раза выше... мой сервак (ОС) ведь тоже видит 12 гигов, но SQL не "загребает" сразу себе всю память...
ну не может же так быть, чтобы на одном все пучком, а на другом... абзац... наверняка должно же быть какое то решение... просто с этим мало кто сталкивался...
12 фев 12, 21:32    [12078437]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008R2 не использует всю выделенную ему память  [new]
skrudzik
Member

Откуда:
Сообщений: 60
alexanko
наверняка должно же быть какое то решение... просто с этим мало кто сталкивался...


Ну, да... Решение есть... Только стОит оно дорого...
12 фев 12, 21:48    [12078473]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить