お世話になっております。
本件確認にお時間を頂いてしまい申し訳ございません
LLMで計測されているものの多くはパッケージからメモリにロードされて展開(シリアライズ)されたものとなっていますので、
メモリが圧迫している場合は不必要なアセットがロードされていないか確認し、必要に応じてリファレンスを外したりアセット自体を軽量化して頂く形になるかと思います。
※各カテゴリに関しましては、以下記事が参考になるかと思いますのでこちらを一度ご確認いただければと思います。
ご質問頂いた各カテゴリについて
・「Meshes/SkeletalMesh/Serialize」「Meshes/StaticMesh/Serialize」
こちらは、GPU(Vulkan)用の直接的なデータではなく、以下関数等で処理されているようなLoad時シリアライズ処理にて確保されているメモリが計測されるため付随するデータ等が計測に影響します。
void USkeletalMesh::Serialize( FArchive& Ar )こちらはmemreport -fullコマンド等でメモリに載っているSkeletal MeshやStatic Meshを確認し、まずはアセット単位で不必要なものがロードされていないか確認頂くと良いかと思います。
参考リンク
UE4でのメモリ使用量の調査と対策
「Textures」
こちらもMeshと同様にTextureのデータを抑えて頂く形になるかと思います。
MemreportやListtexturesコマンドを活用し、不必要に大きなテクスチャがロードされていないか確認し、必要に応じてMipBiasなどでテクスチャサイズを制限いただければと思います。
「Animation/ControlRig」
こちらはアニメーション全般のデータが計測されます。
Obj List CLASS=AnimsequenceコマンドやObj List CLASS=ControlRigコマンドでメモリ上のアセットを確認可能となっていますので、
不必要なものが読まれていないか確認いただき、意図していないものがロードされている場合はリファレンスビューワー等から原因を探していく形になるかと思います。
※Mesh、Texture、Animationのリダクション方法に関しては以下資料にもまとめられております。
UE4の頃の資料となりますが、基本は変わっていないためこちらもご確認いただければと思います。
https://www.docswell.com/s/EpicGamesJapan/Z2MVRZ\-ue4\-95238296\#p1
・「FMallocUnused」「VulkanDriverMemoryCPU」「VulkanSpareMemoryGPU」
FMallocUnusedに関してはMallocアロケーターのうち利用されていない領域のメモリとなり、基本的には再利用される見込みのため問題となることは少ないかと思われます。
VulkanDriverMemoryCPUに関しては、GPU処理のVulkan用に管理しているCPUメモリ(FVulkanCustomMemManagerで管理)がカウントされるものとなっており、
VulkanSpareMemoryGPUに関しては、Vulkan用に確保したメモリを再利用できるようにプーリングを行い、こちらは再利用を行う想定となっているため大きくなっていたとしても問題にはならない想定です。
.\Engine\Source\Runtime\VulkanRHI\Private\VulkanMemory.cpp
bool FVulkanSubresourceAllocator::TryAllocate2(FVulkanAllocation& OutAllocation, FVulkanEvictable* AllocationOwner, uint32 InSize, uint32 InAlignment, EVulkanAllocationMetaType InMetaType, const char* File, uint32 Line)よろしくお願いいたします。