Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 LazyWriter: warning, no free buffers found  [new]
JohnAl
Member

Откуда: Москва
Сообщений: 109
После такого сообщения об ошибке SQL виснет наглухо. Т.е. до того, что помогает только перезагрузка железа, остановить службу не возможно.
SQL2005 SP3 x64, Win2003x64, ОЗУ 4 Гб, БД имеет размер 53ГБ, 1С любимая...
Понятно, что проблемы с памятью, но раньше это "ленивое перо" не беспокоило. Началось все внезапно. Увеличил своп на диске - не помогло. В плане - увеличить ОЗУ.
Что еще?
1 окт 09, 14:32    [7729928]     Ответить | Цитировать Сообщить модератору
 Re: LazyWriter: warning, no free buffers found  [new]
Orland
Member

Откуда: Ростов
Сообщений: 71
Выполните следующие запросы и результат, пожалуйста, опубликуйте сюда
select name, type, single_pages_kb, multi_pages_kb from sys.dm_os_memory_cache_counters

select * from sys.dm_os_performance_counters where counter_name = 'Lazy writes/sec'
1 окт 09, 14:45    [7730018]     Ответить | Цитировать Сообщить модератору
 Re: LazyWriter: warning, no free buffers found  [new]
JohnAl
Member

Откуда: Москва
Сообщений: 109
Для select * from sys.dm_os_performance_counters where counter_name = 'Lazy writes/sec':

SQLServer:Buffer Manager
Lazy writes/sec 11158 272696576

Для select name, type, single_pages_kb, multi_pages_kb from sys.dm_os_memory_cache_counters:

SOS_StackFramesStore CACHESTORE_STACKFRAMES 0 8
EventNotificationCache CACHESTORE_EVENTS 16 0
Object Plans CACHESTORE_OBJCP 272 0
SQL Plans CACHESTORE_SQLCP 642800 21216
Bound Trees CACHESTORE_PHDR 1448 0
Extended Stored Procedures CACHESTORE_XPROC 24 0
Temporary Tables & Table Variables CACHESTORE_TEMPTABLES 224 0
XMLDBCACHE CACHESTORE_XMLDBTYPE 8 0
XMLDBCACHE CACHESTORE_XMLDBELEMENT 8 0
XMLDBCACHE CACHESTORE_XMLDBATTRIBUTE 8 0
View Definition Cache CACHESTORE_VIEWDEFINITIONS 16 0
Notification Store CACHESTORE_NOTIF 16 0
Service broker routing cache CACHESTORE_BROKERREADONLY 8 0
Service broker configuration CACHESTORE_BROKERREADONLY 8 0
Service broker dialog cache CACHESTORE_BROKERREADONLY 8 0
Service Broker Key Exchange Key Cache CACHESTORE_BROKERKEK 8 0
Service Broker Dialog Security Header Cache CACHESTORE_BROKERDSH 8 0
Service Broker user certificates lookup result cache CACHESTORE_BROKERUSERCERTLOOKUP 8 0
Service Broker Null Remote Service Binding Cache CACHESTORE_BROKERRSB 8 0
Service Broker Transmission Object Cache CACHESTORE_BROKERTO 8 0
Broker dormant rowsets CACHESTORE_BROKERTBLACS 56 0
Broker dormant rowsets CACHESTORE_BROKERTBLACS 8 0
Service broker mapping table CACHESTORE_BROKERREADONLY 8 0
SystemRowsetStore CACHESTORE_SYSTEMROWSET 80 0
SystemRowsetStore CACHESTORE_SYSTEMROWSET 56 0
SystemRowsetStore CACHESTORE_SYSTEMROWSET 8 0
SystemRowsetStore CACHESTORE_SYSTEMROWSET 240 0
Broker dormant rowsets CACHESTORE_BROKERTBLACS 8 0
SystemRowsetStore CACHESTORE_SYSTEMROWSET 72 0
SystemRowsetStore CACHESTORE_SYSTEMROWSET 112 0
SystemRowsetStore CACHESTORE_SYSTEMROWSET 8 0
SystemRowsetStore CACHESTORE_SYSTEMROWSET 16 0
SystemRowsetStore CACHESTORE_SYSTEMROWSET 8 0
SystemRowsetStore CACHESTORE_SYSTEMROWSET 56 0
SystemRowsetStore CACHESTORE_SYSTEMROWSET 16 0
SystemRowsetStore CACHESTORE_SYSTEMROWSET 16 0
SystemRowsetStore CACHESTORE_SYSTEMROWSET 64 0
SystemRowsetStore CACHESTORE_SYSTEMROWSET 16 0
SystemRowsetStore CACHESTORE_SYSTEMROWSET 8 0
SystemRowsetStore CACHESTORE_SYSTEMROWSET 56 0
SystemRowsetStore CACHESTORE_SYSTEMROWSET 8 0
SystemRowsetStore CACHESTORE_SYSTEMROWSET 32 0
SystemRowsetStore CACHESTORE_SYSTEMROWSET 16 0
SystemRowsetStore CACHESTORE_SYSTEMROWSET 16 0
Broker dormant rowsets CACHESTORE_BROKERTBLACS 8 0
Broker dormant rowsets CACHESTORE_BROKERTBLACS 8 0
Broker dormant rowsets CACHESTORE_BROKERTBLACS 8 0
Broker dormant rowsets CACHESTORE_BROKERTBLACS 8 0
SOS_StackFramesStore CACHESTORE_STACKFRAMES 0 8
sxcCacheStore USERSTORE_SXC 56 0
TokenAndPermUserStore USERSTORE_TOKENPERM 176 0
SchemaMgr Store USERSTORE_SCHEMAMGR 9456 0
master USERSTORE_DBMETADATA 16 0
ObjPerm - master USERSTORE_OBJPERM 72 0
mssqlsystemresource USERSTORE_DBMETADATA 32 0
ObjPerm - mssqlsystemresource USERSTORE_OBJPERM 72 0
model USERSTORE_DBMETADATA 16 0
ObjPerm - model USERSTORE_OBJPERM 72 0
tempdb USERSTORE_DBMETADATA 280 0
ObjPerm - tempdb USERSTORE_OBJPERM 72 0
CTOYS_Trade USERSTORE_DBMETADATA 3616 0
ObjPerm - CTOYS_Trade USERSTORE_OBJPERM 72 0
CTOYS_Trade_Backup USERSTORE_DBMETADATA 16 0
ObjPerm - CTOYS_Trade_Backup USERSTORE_OBJPERM 72 0
CTOYS_Trade_Test USERSTORE_DBMETADATA 144 0
ObjPerm - CTOYS_Trade_Test USERSTORE_OBJPERM 72 0
BPforProsV USERSTORE_DBMETADATA 16 0
ObjPerm - BPforProsV USERSTORE_OBJPERM 72 0
msdb USERSTORE_DBMETADATA 40 0
CTOYS_Trade_Demo USERSTORE_DBMETADATA 56 0
ObjPerm - msdb USERSTORE_OBJPERM 72 0
ObjPerm - CTOYS_Trade_Demo USERSTORE_OBJPERM 72 0
CTOYS_Trade_TPI USERSTORE_DBMETADATA 144 0
TEST_WMS_090219 USERSTORE_DBMETADATA 16 0
ObjPerm - TEST_WMS_090219 USERSTORE_OBJPERM 72 0
ObjPerm - CTOYS_Trade_TPI USERSTORE_OBJPERM 72 0
CTOYS_Trade_TarasBespalov USERSTORE_DBMETADATA 512 0
wms_errors USERSTORE_DBMETADATA 16 0
Intelis_PorojectMenegment USERSTORE_DBMETADATA 16 0
CTOYS_Conversion USERSTORE_DBMETADATA 16 0
Intelis_PorojectManegment USERSTORE_DBMETADATA 80 0
ObjPerm - CTOYS_Trade_TarasBespalov USERSTORE_OBJPERM 72 0
CTOYS_Trade_Test_Inv USERSTORE_DBMETADATA 16 0
ObjPerm - Intelis_PorojectManegment USERSTORE_OBJPERM 72 0
ObjPerm - wms_errors USERSTORE_OBJPERM 72 0
CTOYS_Trade_IMolokin USERSTORE_DBMETADATA 128 0
ObjPerm - Intelis_PorojectMenegment USERSTORE_OBJPERM 72 0
Trade_from_backup_yuray USERSTORE_DBMETADATA 16 0
ObjPerm - CTOYS_Trade_IMolokin USERSTORE_OBJPERM 72 0
ObjPerm - CTOYS_Conversion USERSTORE_OBJPERM 72 0
ObjPerm - CTOYS_Trade_Test_Inv USERSTORE_OBJPERM 72 0
ObjPerm - Trade_from_backup_yuray USERSTORE_OBJPERM 72 0
sxcCacheStore USERSTORE_SXC 8 0
1 окт 09, 14:59    [7730112]     Ответить | Цитировать Сообщить модератору
 Re: LazyWriter: warning, no free buffers found  [new]
MsDatabaseru
Member

Откуда: Hobby.MsDatabase.ru
Сообщений: 10937
пишут по этому поводу:

We finally has Microsoft PSS take a look at our dmp files and the said to do the following.

1. Limit the amount of RAM for this instance. Our machines had 4GB ram so we set the max ram at 3GB.

2. We updated statistics and redindexed everything. We upgraded from SQL 2000 and this might have contributed to the thrashing it was experiencing.

3. We have purchased more RAM. We will be moving up to 32GB RAM for each of our servers. We run Windows 2003 Standard Edition x64. Our network guys misunderstood and thought it could only handle a max of 4GB. That was for 32bit OS. x64 can handle 32GB. So we are going there. It has been ordered but not installed yet.

4. they also said we have a lot of ad-hoc queries in the cache and they recommended that we reduce the ad-hoc but with our current system design we won't be able to do this very much.

5. This wasn't recommended by MS but we saw others that had the same error that were running HP Blades and they recommended to upgrade the iLo drivers. We did this.



After making these changes, it has been one week and no problems.
1 окт 09, 15:10    [7730177]     Ответить | Цитировать Сообщить модератору
 Re: LazyWriter: warning, no free buffers found  [new]
JohnAl
Member

Откуда: Москва
Сообщений: 109
MsDatabaseru , увеличить ОЗУ - это понятно, но ИМХО проблема не в этом. Да и речь там идет о блэйдах НР, у нас - блэйды IBM. Но не суть.
Очень напрягает тот факт, что проблема началась сразу и вдруг. Сейчас терзаю программеров 1С, какие изменения внесли в проект в последнее время. Да еще хочу отключить всякие левые тестовые БД, что те же программеры наплодили на боевом сервере.
1 окт 09, 15:33    [7730322]     Ответить | Цитировать Сообщить модератору
 Re: LazyWriter: warning, no free buffers found  [new]
MsDatabaseru
Member

Откуда: Hobby.MsDatabase.ru
Сообщений: 10937
в плане понимания сути происходящего - тихое перо логичнее перевести как "процесс неспешной записи".
Когда сервер выполняет модификацию данных происходит отметка их как "измененная", по мере того как появляются простои системы "низкоприоритетная задача" неспешной записи не отнимая ресурсов у важных задач потихоньку скидывает измененные страницы на диск, при этом снимая пометку "измененная".
кроме лази вриттера страницы на диск сбрасывает и процесс чекпоинта, но этот не учитывает уровень занятости системы и форсирует процесс сохранения.

происходящий зависон может быть следствием когда в результате работы связанных приложений происходит лавинообразный рост потребности в памяти и пропускной способности дисоквового массива. Те. серверные приложения не зависли а стали переползать в своп, инициируя тем самым дополнительную нагрузку. По идее если снять внешнюю нагрузку и в среднем звене нет циклических процессов создающих ситуацию чем медленне реакция тем больше нагрузка - то по идее рано или поздно должно отвиснуть.

а для предотвращения (не говоря об увеличении рам и пропускной способности дисков) попробовать задать для серверных приложений (mmsql и ядро многозвенки) фиксированный объем рам, оставив и системе немного
попробовать задать поменьше "recovery interval " с тем чтобы не копить грязные страницы для лэзи вритера
1 окт 09, 15:37    [7730356]     Ответить | Цитировать Сообщить модератору
 Re: LazyWriter: warning, no free buffers found  [new]
JohnAl
Member

Откуда: Москва
Сообщений: 109
Да, где-то так и предполагал.
Фиксированный объем рам задал, recovery interval стоит равным 0, т.е. самонастройка.
Теперь выявить бы процессы, что вызывают "лавинообразный рост потребности в памяти и пропускной способности дискового массива". Но тут уже сам, да.
1 окт 09, 15:58    [7730540]     Ответить | Цитировать Сообщить модератору
 Re: LazyWriter: warning, no free buffers found  [new]
ScareCrow
Member

Откуда: Белый город
Сообщений: 16822

сервер предприятия на той же машине? а то у него утечки памяти наблюдаются.


Posted via ActualForum NNTP Server 1.4

1 окт 09, 18:08    [7731443]     Ответить | Цитировать Сообщить модератору
 Re: LazyWriter: warning, no free buffers found  [new]
SkyWalker
Member

Откуда:
Сообщений: 320
Данная проблема может быть вызвана несколькими причинами. Без дополнительной диагностики однозначно сказать сложно.

Коротко, один из sessions пытается получить память.
Свободных буферов памяти на данный момент нет и поетому LazyWriter пытается
освободить неиспользованные буфера. Ето одна из обязанностей LazyWriter. Если LazyWriter освободить буфера не может в течении определенного времени, будет сгенерирована ошибка LazyWriter: warning, no free buffers found. Одной из возможных причин является working set trimming описанный здесь

918483 How to reduce paging of buffer pool memory in the 64-bit version of SQL Server
[url=]http://support.microsoft.com/default.aspx?scid=kb;EN-US;918483[/url]

Именно в связи с потенциальным working set trimming были рекомендованы шаги описанные выше.

Другая часть проблемы - ето интенсивное использование памяти на момент ошибки.
Но, как я уже упоминал выше, по етому поводу что то определенное без диагностики сказать сложно.

Возможные причины и варианты борьбы с working set trimming, если ето конечно и есть причина,
описаны в статье выше.
1 окт 09, 23:02    [7732125]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить