I've been reading up on sys.dm_db_file_space_usage and see a lot of examples of how to convert the results to MB / GB. However, none these methods work for me... or if they do, I don't understand them.
When I run
use tempdb;
go
select * from sys.dm_db_file_space_usage;
For the total_page_count I get 85184.00.
That's converting to 332.75 GB. Which doesn't make sense to me. I believe I have a total of 40 GB of max space for all 8 tempdb files.
I can't find anything that would indicate the DMV would return a different value than the standard page count (8kb each).
May 26, 2020 at 3:15 pm
85184 pages is 665.5 MB
85184*8 KB= 681472 KB
681472 KB / 1024 (KB in a MB) = 665.5 MB
The process of *8/1024 simplifies to /128, so I usually just divide pages by 128 to convert to MB.
Cheers!
May 26, 2020 at 3:35 pm
Yes, that's what I've seen on the internet. But I don't believe I have that much space in reality. To convert to GB you would divide by 256, right?
May 26, 2020 at 3:41 pm
For example, the MS site says you can run this
SELECT SUM(unallocated_extent_page_count) AS [free pages],
(SUM(unallocated_extent_page_count)*1.0/128) AS [free space in MB]
FROM tempdb.sys.dm_db_file_space_usage;
But I get these results which make even less sense
Free Pages 576832
Free Space in MB 4506.500000
You don't believe your file is using 665.5 MB? Why not?
Why do you think you can't have 4.4 GB (4506 MB) free space?
To get GB, you would need to divide by (128*1024), not 256. There are 1024 MB in 1 GB, not 2.
Cheers!
May 26, 2020 at 4:35 pm
Yes, that's what I've seen on the internet. But I don't believe I have that much space in reality. To convert to GB you would divide by 256, right?
No. Just to confirm what Jacob has stated, you would divide by (128*1024) or 131,072 to convert pages to GB.
--Jeff Moden
Change is inevitable... Change for the better is not.
May 26, 2020 at 4:41 pm
Thank you. I see how my math went wrong now on the conversion to GB.
Also, I've realized my assumptions were off. When I originally setup the tempdb into 8 files, I set each file at to it's max size (based on size of the drive set aside exclusively for the tempdb data files) and then didn't let it automatically grow. I did this when we had a dedicated physical server for this application.
It looks like IT has gone behind me, shrunk the files, and set them to auto-grow. They must have done this when the application was migrated to their virtual environment a few weeks ago. I'm guessing that's because the new storage solution can automatically allocate more drive space as needed. Instead of the 40GB of drive space being max value, it's now the virtual server's min value.
May 26, 2020 at 4:54 pm
No problem. I'm glad you got it sorted out.
Cheers!
Viewing 8 posts - 1 through 7 (of 7 total)
You must be logged in to reply to this topic. Login to reply