Do you want the usage in terms of how much memory each is using or how much actual pages on disk they consume? If its memory then that is one way to get it. If you want actual disk usage you need to look at the allocation units dmv. There are 3 types of pages that can hold table data. Check BooksOnLine for the details.
SELECT SCHEMA_NAME(CAST(OBJECTPROPERTYEX(sp.object_id, N'SchemaId') AS INT)) AS [Schema]
, OBJECT_NAME (sp.object_id) AS [Object Name]
, sp.index_id AS [Index ID]
, sa.type_desc AS [Alloc Unit Type]
, [filegroup_id] AS [FileGroup ID]
, [total_pages] AS [Total Pages]
, [used_pages] AS [Used Pages]
, [data_pages] AS [Data Pages]
, [rows] AS [Rows]
FROM sys.system_internals_allocation_units AS sa INNER JOIN sys.partitions AS sp
ON sa.container_id = sp.partition_id
WHERE sp.[object_id] > 10000 AND sa.container_id = sp.partition_id
AND OBJECT_NAME (sp.object_id) NOT LIKE 'queue_me%'
AND sp.index_id IN (1,0)
ORDER BY [Schema], [Object Name]