Sunday, December 15, 2019

Interpreting SQL Server 2019 DBCC MEMORYSTATUS output -- Part 1

Recently someone asked me for help interpreting DBCC MEMORYSTATUS output.  And it's taken me too doggone long to start answering their questions.  Sorry - I'll start with this and keep going.

In response to certain OOM conditions, SQL Server will automatically log DBCC MEMORYSTATUS output to the error log.  Here I'll look at output from the command run via a task scheduler script on a 5 minute schedule.

One issue with the excerpt of the output below is the lack of units.

start Fri 12/13/2019 14:40:00.80 
Process/System Counts                                Value               
---------------------------------------------------- --------------------
Available Physical Memory                                    250846224384
Available Virtual Memory                                  136302950027264
Available Paging File                                        298663870464
Working Set                                                   13835464704
Percent of Committed Memory in WS                                      99
Page Faults                                                       6876485
System physical memory high                                             1
System physical memory low                                              0
Process physical memory low                                             0
Process virtual memory low                                              0
end   Fri 12/13/2019 14:40:06.62

Here's some info from perfmon.

Time 14:40:01 14:40:06 14:40:11
\NUMA Node Memory(_Total)\Total MBytes 952319 952319 952319
\NUMA Node Memory(_Total)\Free & Zero Page List MBytes 233635 233634 233634
\NUMA Node Memory(_Total)\Available MBytes 239222 239221 239229
\Paging File(_Total)\% Usage 0 0 0

MemoryStatus gives Available Physical Memory = 250846224384.  Assuming that number is specified in bytes, dividing by 1048576 yields  megabytes: 239225.6 mb. That's no more than 4.6 mb away from the 3 values for [\NUMA Node Memory(_Total)\Available MBytes] shown in the perfmon above.

Below "wmic pagefileset list" shows the lone pagefile with a size of 48000 mb. Perfmon above shows it at 0% used.

total_physical_memory_kb     =  975175156 kb = 930 gb
available_physical_memory_kb =  243809076 kb = 238095 mb
total_page_file_kb           = 1024327156 kb = 930 gb + 48000 mb
available_page_file_kb       =  289622644 kb = 234835 mb + 48000 mb

So what have we got?  MEMORYSTATUS [Available Physical Memory] measured in bytes appears to be the same resource as perfmon [\NUMA Node Memory(_Total)\Available MBytes] and sys.dm_os_sys_memory.available_physical_memory_kb.

MEMORYSTATUS [Available Paging File] measured in bytes appears to be free paging file plus MEMORYSTATUS [Available Physical Memory]. MEMORYSTATUS [Available Paging File] appears to be the same resource as sys.dm_os_sys_memory.available_page_file_kb.

What about MEMORYSTATUS [Available Virtual Memory]?  It seems so much higher than other measures.  Pulling in the MEMORYSTATUS value from above...

Available Virtual Memory = 136302950027264 B = 123.97 TB

Here's a similar number...

 total_virtual_address_space_kb = 137438953343 kb = 128 TB

The value from dm_os_process_memory was retrieved several days after the other values in this blog post.  *And* after a SQL Server service restart.

This KB article explains that SQL Server process virtual address space starts at approximately 8TB in Windows Server 2012.  But it also mentions "Windows 2012 R2 [and above] allows virtual address space to grow as large as 128 TB".

FIX: Out of memory error when the virtual address space of the SQL Server process is very low on available memory

That's all for now, folks.


Tuesday, December 10, 2019

Renouncing the Symbol: 1940 Resolution by Tribes to Reject the Swastika or Fylfot

Each of the 10 articles or captioned photographs linked below refer to the same event - the signing of a resolution by members of Navajo, Papago, Apache, and Hopi tribes in early 1940.

I share links to these these articles and photographs to illustrate that over time content, art, and craft creators have been very serious about the current as well as historic associations of the symbols they use.

The text of the resolution as displayed by the photographs and articles below:
"Because the above ornament which has been a sign of friendship among our forefathers for many centuries has been desecrated recently by another nation of peoples,
Therefore it is resolved that henceforth from this date on and forever more our tribes renounce the use of the emblem commonly known today as the swastika or fylfot on our blankets, baskets, art objects, sandpaintings and clothing."

An additional note about two of the stories below: numbers 6 and 10 in the list seem to be in denial of these tribes - and the individuals themselves - to act of themselves in accordance with their principles.  I'm especially troubled by the tone of the article in number 6, and hope to write a follow-up post on that particular article in the future. 

Indians Denounce Nazis, Forego Use of Swastika
St. Joseph Gazette, St. Joseph, Missouri
Monday, 26 February 1940

Indian Sign on Swastika
The Akron Beacon Journal, Akron, Ohio
Monday, 4 March 1940

The Evening Review, East Liverpool, Ohio
Thursday, 29 February 1940

Star-Gazette, Elmira, New York
Thursday, 29 February 1940

Indians Bar Swastika Design as Protest Against Nazis
The Los Angeles Times, Los Angeles, California
Monday, 26 February 1940

Arizona Indians Bow to Hitler
The Twin Falls News, Twin Falls, Idaho
8 March 1940

Four Indian Tribes Unite in Order Barring Swastika as Their Symbol
The San Bernardino County Sun, San Bernardino, California
Tuesday, 27 February 1940

Indians Denounce Swastika Emblem
Wednesday, 28 February 1940

Indians Ban Swastika
The Town Talk, Alexandria, Louisiana
Monday, 1 April 1940

Put Indian Sign on Swastika
Times Colonist, Victoria, British Columbia, Canada
Saturday, 6 April 1940

For proper placement in history:
7 December 1941 - United States enters World War II.

In addition to the links above, one may find duplicates appearing in other papers.

This article is a near duplicate of "Indians Denounce Nazis, Forego Use of Swastika" from above.

Indians Renounce Swastika Symbol
Albuquerque Journal, Albuquerque, New Mexico
Monday 26 February 1940