Vhodné Windows O / S velikost stránkovacího souboru pro SQL Server

hlasů
16

Má některý vědět dobré pravidlo pro vhodné velikosti stránkovacího souboru pro Windows 2003 server se systémem SQL Server?

Položena 05/08/2008 v 18:07
zdroj uživatelem
V jiných jazycích...                            


8 odpovědí

hlasů
1

Pokud hledáte pro vysoký výkon vy, budete chtít, aby se zabránilo úplně paging, takže velikost stránkovacího souboru se stává méně významné. Investovat do tolik paměti RAM jako proveditelný pro server DB.

Odpovězeno 11/08/2008 v 13:22
zdroj uživatelem

hlasů
2

Čím větší, tím lepší, až do velikosti pracovní sady aplikací, kde se začne se dostat do klesajících výnosů. Můžete se pokusit najít to tím, že pomalu rostoucí nebo klesající velikosti až uvidíte výrazné změny sazeb hit vyrovnávací paměti. Nicméně, pokud cache hit sazba je vyšší než 90% nebo tak, budete pravděpodobně v pořádku. Obecně byste měli dávat pozor na to na produkčním systému, aby se ujistil, že nemá přerůst jeho přidělení paměti RAM.

Odpovězeno 23/12/2008 v 15:45
zdroj uživatelem

hlasů
2

Byli jsme v poslední době má nějaké problémy s výkonem s jedním z našich SQL Server, že jsme nebyli schopni zcela úzký dolů, a skutečně používaných jeden z našich lístků podpory společnosti Microsoft, aby jim pomohl odstraňování problémů. Optimální velikost stránkovacího souboru pro použití s SQL Server přišel a doporučení Microsoftu je, že to bylo 1 1/2 krát větší než velikost paměti RAM .

Odpovězeno 10/09/2009 v 06:05
zdroj uživatelem

hlasů
10

Irelevantní velikosti RAM, budete ještě potřebovat stránkovací soubor alespoň 1,5 násobek množství fyzické paměti RAM. To platí iv případě, že máte RAM stroj 1 TB, budete potřebovat 1,5 TB stránkovací soubor na disku (zní bláznivě, ale je pravda).

Při procesu požádá MEM_COMMIT paměti přes VirtualAlloc / VirtualAllocEx, musí být rezervována do stránkovacího souboru požadované velikosti. To platilo v prvním systému Win NT, a platí i dnes vidět Správa virtuální paměti v Win32 :

Je-li paměť zavazuje, fyzické stránky paměti jsou přiděleny a prostor je vyhrazen v stránkovací soubor .

Holé některé extrémní podivné případy, bude SQL Server vždy požádat o MEM_COMMIT stránek. A vzhledem k tomu, že SQL používá Dynamic Memory řízení politiky, která si vyhrazuje předem tolik bufferů jak je to možné (rezerv a zaváží se týče VAS), SQL Server bude požadovat při startu obrovskou rezervaci místa v stránkovacího souboru. V případě, že stránkovací soubor není správně velké chyby 801/802 začne objevovat v souboru Errorlog a provoz SQL je.

To vždy způsobí nějaký zmatek, protože administrátoři mylně předpokládají, že velká RAM eliminuje potřebu pro stránkovací soubor. Ve skutečnosti naopak stane, velká RAM zvyšuje potřebu stránkovacího souboru, jen proto, že vnitřní činnost správce paměti Windows NT. Vyhrazený stránkovací soubor je, doufejme, nikdy nepoužíval.

Odpovězeno 22/11/2009 v 23:11
zdroj uživatelem

hlasů
3

Podle společnosti Microsoft, „jako množství paměti RAM v počítačovém se zvyšuje potřeba pro soubor stránek klesá.“ Článek pak jde o to popsat, jak používat protokolování výkonu určit, kolik z stránkovacího souboru je skutečně používány. Zkuste nastavit svůj stránkovací soubor na systémové paměti 1,5x pro začátek, pak to doporučuje monitorovat a provádět úpravy odtamtud.

Jak lze zjistit velikost souboru příslušnou stránku pro 64bitové verze systému Windows

Odpovězeno 03/08/2010 v 19:58
zdroj uživatelem

hlasů
1

Po dlouhém výzkumu naše dedikované servery SQL spuštěné Enterprise x64 na Windows 2003 Enterprise x64 nemá stránkovací soubor.

Jednoduše řečeno, stránkovací soubor je mezipaměť pro soubory, které dostane řízených OS a SQL má vlastní vnitřní systém pro správu paměti.

MS článek odkazoval se nekvalifikuje, že rada je pro OS běží out-of-the-box služby, jako je sdílení souborů.

Mít stránkovací soubor jednoduše zatěžuje diskem I / O, protože systém Windows se snaží pomáhat, když pouze SQL OS může dělat svou práci.

Odpovězeno 24/05/2011 v 13:47
zdroj uživatelem

hlasů
11

Při vší úctě k Remem (koho si vážím velice), rozhodně nesouhlasím. Pokud vaše stránka je soubor dostatečně velký, aby podpořila úplný výpis, bude to provést úplnou Dump pokaždé. Máte-li velmi velké množství paměti RAM, může to způsobit drobná výkyv se stal hlavním výpadek.

Nechcete, aby váš server muset vypsat 1 TB paměti RAM na disk, pokud je jednorázový přechodná záležitost. Pokud se jedná o opakující se problém, můžete zvýšit stránkovací soubor zachytit úplný výpis. Já bych čekat, jak to udělat, dokud jste byli isntructed PSS (nebo někdo jiný kvalifikovaný analyzovat úplný výpis) požádá vás zachytit úplný výpis. Velmi malé procento DBA vědět, jak analyzovat úplný výpis. Mini-dump je montáže dostatek pro řešení většiny problémů, které se objevují v každém případě.

Navíc, pokud váš server je nakonfigurován tak, aby na 1 TB úplnou výpis a opakující se problém nastane, kolik volného místa na disku byste doporučil mít po ruce? Ty by mohly zaplnit celou SAN do jediného víkendu.

Stránka souboru 1.5 * RAM byl standard v dobách, kdy jste měli štěstí, že mají SQL Server s 3 nebo 4 GB RAM. To není tento případ nic víc. Nechám stránkovací soubor na výchozí velikost a nastavení systému Windows na všech serverech (s výjimkou serveru SSAS, který zažívá tlak paměti).

A jen pro upřesnění, já jsem pracoval se servery od 2 GB RAM až 2 TB RAM. Po více než 11 let, jsem měl jen increae stránkovací soubor zachytit úplný přenos jednou.

Odpovězeno 05/10/2011 v 22:39
zdroj uživatelem

hlasů
0

V tomto případě je normální doporučení 1,5násobku celkové fyzické paměti RAM není nejlepší. Tento velmi obecné doporučení je za předpokladu, že všechny paměti je používán „normální“ procesy, které mohou obecně mají nejméně používané stránky přesunuty na disk bez generování obrovské problémy s výkonem pro proces aplikace paměť patří.

U serverů se systémem SQL Server (obvykle s velmi velkým množstvím RAM), většina z fyzické paměti RAM se zavázala k procesu serveru SQL Server a měl by být (pokud je správně nakonfigurován) zamčený ve fyzické paměti, aby mu zabránila být stránkovaného mimo do stránkovacího souboru , SQL Server spravuje svou vlastní paměť velmi pečlivě s ohledem na výkon, za použití velké části paměti přidělené procesu jeho jako cache dat ke snížení disk I / O. To nedává smysl, aby strana z těchto údajů mezipaměti stránky do stránkovacího souboru, protože jediným účelem mít data v paměti RAM v první řadě je snížit disk I / O. (Všimněte si, že operační systém Windows také používá dostupné paměti RAM, podobně jako diskovou cache pro urychlení provozu systému.) Vzhledem k tomu, SQL Server již spravuje svůj vlastní paměťový prostor, toto místo v paměti by nemělo být považováno za „stránkovatelné“, které nejsou zahrnuty do výpočtu pro stránkovací soubor velikost.

Ve vztahu k MEM_COMMIT zmínil Remus, terminologie je matoucí, protože ve virtuální paměti hantýrce, „vyhrazené“ nikdy se odkazuje na skutečné rozdělení, ale k prevenci užívání s adresního prostoru (ne fyzický prostor) jiným způsobem. Dostupné paměti, že „spáchal“ je v podstatě rovná součtu fyzické paměti RAM a stránkovací soubor velikost a dělá MEM_COMMIT jen sníží množství dostupného v angažovaného bazénu. Neznamená to ani alokovat stránku odpovídající v stránkovacího souboru v té době. Je-li paměť strana zavázala skutečně zapisovat, to je, když se virtuální paměť systému alokovat stránku fyzické paměti a případně narazit další stránky paměti z fyzické paměti a stránkovacího souboru. Viz MSDN je VirtualAlloc funkce reference.

Operační systém Windows udržuje informace o paměťových tlaků mezi procesy, aplikace a vlastní vyrovnávací disk mechanismu a rozhoduje, kdy by měl narazit stránky, které nejsou zamčené paměti z fyzické do stránkovacího souboru. Já to chápu tak, že má stránkovací soubor, který je příliš velký ve srovnání se skutečnou paměti non-zamčené může mít za následek Windows overzealously paging z paměti aplikace do stránkovacího souboru, což má za následek těch aplikacích, které trpí následky stránek mine (snížení výkonu).

Tak dlouho, jak server neběží jiné paměťově náročné procesy, velikost stránkovacího souboru 4GB by mělo být dost. Pokud jste nastavili SQL Server, aby zajišťovací stránky v paměti, měli byste také zvážit stanovení maximální nastavení paměti serveru SQL tak, aby se ponechává určitou fyzické paměti RAM k dispozici pro OS pro sebe a dalších procesů.

802 chyby v SQL Server ukazují, že systém nemůže dopustit žádné další stránky pro cache dat. Zvýšení velikost stránkovacího souboru pomůže pouze v této situaci, jelikož jde o Windows je schopen strana out paměti z procesů, ne-SQL Server. Umožnění paměti SQL Server, aby dorostla do stránkovacího souboru v této situaci by mohlo zbavit chybových zpráv, ale je kontraproduktivní vzhledem k bodu dřívější o důvodu mezipaměti data na prvním místě.

Odpovězeno 04/04/2014 v 00:51
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more