fix(dashboard): report application memory accurately

This commit is contained in:
jxxghp
2026-06-29 07:37:03 +08:00
parent df4e45c644
commit 8bf826faa0
4 changed files with 29 additions and 15 deletions
+19 -5
View File
@@ -31,25 +31,39 @@ def test_dashboard_system_info_returns_runtime_environment(monkeypatch):
def test_memory_usage_returns_used_cached_and_available(monkeypatch):
"""内存统计应拆分已使用、缓存可用容量,并返回已使用百分比"""
"""内存统计应返回应用进程占用以及系统缓存可用和总容量。"""
class FakeMemoryInfo:
"""提供固定进程 RSS 的桩。"""
rss = 2 * 1024**3
class FakeProcess:
"""提供固定进程内存信息的桩。"""
@staticmethod
def memory_info() -> FakeMemoryInfo:
"""返回固定进程内存信息。"""
return FakeMemoryInfo()
class FakeMemory:
"""提供固定系统内存值的桩。"""
total = 16 * 1024**3
used = 5 * 1024**3
cached = 3 * 1024**3
buffers = 512 * 1024**2
available = 7 * 1024**3
monkeypatch.setattr(system_module.psutil, "Process", FakeProcess)
monkeypatch.setattr(system_module.psutil, "virtual_memory", FakeMemory)
result = SystemUtils.memory_usage()
assert result.total == 16 * 1024**3
assert result.used == 5 * 1024**3
assert result.used == 2 * 1024**3
assert result.cached == int(3.5 * 1024**3)
assert result.available == int(7.5 * 1024**3)
assert result.usage == 31.25
assert result.available == 7 * 1024**3
assert result.usage == 12.5
def test_monthly_media_statistics_counts_successful_unique_media():