sys.dm_os_sys_info (Transact-SQL)
Returns a miscellaneous set of useful information about the computer, and about the resources available to and consumed by SQL Server.
Column name |
Data type |
Description |
---|---|---|
cpu_ticks |
bigint |
Specifies the current CPU tick count. CPU ticks are obtained from the processor's RDTSC counter. It is a monotonically increasing number. Not nullable. |
ms_ticks |
bigint |
Specifies the number of milliseconds since the computer started. Not nullable. |
cpu_count |
int |
Specifies the number of logical CPUs on the system. Not nullable. |
hyperthread_ratio |
int |
Specifies the ratio of the number of logical or physical cores that are exposed by one physical processor package. Not nullable. |
physical_memory_kb |
bigint |
Specifies the total amount of physical memory on the machine. Not nullable. |
virtual_memory_kb |
bigint |
Specifies the total amount of virtual address space available to the process in user mode. Not nullable. |
committed_kb |
int |
Represents the committed memory in kilobytes (KB) in the memory manager. Does not include reserved memory in the memory manager. Not nullable. |
committed_target_kb |
int |
Represents the amount of memory, in kilobytes (KB), that can be consumed by SQL Server memory manager. The target amount is calculated using a variety of inputs like:
If committed_target_kb is larger than committed_kb, the memory manager will try to obtain additional memory. If committed_target_kb is smaller than committed_kb, the memory manager will try to shrink the amount of memory committed. The committed_target_kb always includes stolen and reserved memory. Not nullable. |
visible_target_kb |
int |
Is the same as committed_target_kb. Not nullable. |
stack_size_in_bytes |
int |
Specifies the size of the call stack for each thread created by SQL Server. Not nullable. |
os_quantum |
bigint |
Represents the Quantum for a non-preemptive task, measured in milliseconds. Quantum (in seconds) = os_quantum / CPU clock speed. Not nullable. |
os_error_mode |
int |
Specifies the error mode for the SQL Server process. Not nullable. |
os_priority_class |
int |
Specifies the priority class for the SQL Server process. Nullable. 32 = Normal (Error log will say SQL Server is starting at normal priority base (=7).) 128 = High (Error log will say SQL Server is running at high priority base. (=13).) For more information, see Configure the priority boost Server Configuration Option. |
max_workers_count |
int |
Represents the maximum number of workers that can be created. Not nullable. |
scheduler_count |
int |
Represents the number of user schedulers configured in the SQL Server process. Not nullable. |
scheduler_total_count |
int |
Represents the total number of schedulers in SQL Server. Not nullable. |
deadlock_monitor_serial_number |
int |
Specifies the ID of the current deadlock monitor sequence. Not nullable. |
sqlserver_start_time_ms_ticks |
bigint |
Represents the ms_tick number when SQL Server last started. Compare to the current ms_ticks column. Not nullable. |
sqlserver_start_time |
datetime |
Specifies the date and time SQL Server last started. Not nullable. |
affinity_type |
int |
Specifies the type of server CPU process affinity currently in use. Not nullable. For more information, see ALTER SERVER CONFIGURATION (Transact-SQL). 1 = MANUAL 2 = AUTO |
affinity_type_desc |
varchar(60) |
Describes the affinity_type column. Not nullable. MANUAL = affinity has been set for at least one CPU. AUTO = SQL Server can freely move threads between CPUs. |
process_kernel_time_ms |
bigint |
Total time in milliseconds spent by all SQL Server threads in kernel mode. This value can be larger than a single processor clock because it includes the time for all processors on the server. Not nullable. |
process_user_time_ms |
bigint |
Total time in milliseconds spent by all SQL Server threads in user mode. This value can be larger than a single processor clock because it includes the time for all processors on the server. Not nullable. |
time_source |
int |
Indicates the API that SQL Server is using to retrieve wall clock time. Not nullable. 0 = QUERY_PERFORMANCE_COUNTER 1 = MULTIMEDIA_TIMER |
time_source_desc |
nvarchar(60) |
Describes the time_source column. Not nullable. QUERY_PERFORMANCE_COUNTER = the QueryPerformanceCounter API retrieves wall clock time. MULTIMEDIA_TIMER = The multimedia timer API that retrieves wall clock time. |
virtual_machine_type |
int |
Indicates whether SQL Server is running in a virtualized environment. Not nullable. 0 = NONE 1 = HYPERVISOR 2 = OTHER |
virtual_machine_type_desc |
nvarchar(60) |
Describes the virtual_machine_type column. Not nullable. NO = SQL Server is not running inside a virtual machine. HYPERVISOR = SQL Server is running inside a hypervisor, which implies a hardware-assisted virtualization. If the instance is running on the host OS, the description will still return HYPERVISOR. OTHER = SQL Server is running inside a virtual machine that does not employ hardware assistant such as Microsoft Virtual PC. |
Permissions
Requires VIEW SERVER STATE permission on the server.
Compatibility Support
In SQL Server 2012, the following columns have been renamed.
Previous Column Name |
New Column Name |
---|---|
physical_memory_in_bytes |
physical_memory_kb |
bpool_commit_target |
committed_target_kb |
bpool_visible |
visible_target_kb |
virtual_memory_in_bytes |
virtual_memory_kb |
bpool_commited |
committed_kb |
See Also
Reference
Dynamic Management Views and Functions (Transact-SQL)
SQL Server Operating System Related Dynamic Management Views (Transact-SQL)