fix: 修复提交量阈值过严导致CUDA误拒绝(Bug C)

- 提交量检查从绝对阈值(物理内存×1.5)改为百分比阈值(提交量/总量>90%)
- 页面文件百分比阈值从85%提高到95%
- 解决系统有大页面文件时提交量被误判为过高的问题
This commit is contained in:
youpaishidifu
2026-08-05 15:49:17 +08:00
parent 4aeb03d869
commit 5b20037052
+6 -4
View File
@@ -110,10 +110,12 @@ try:
_pagefile_pct = _vm.get("commit_pct", 0)
_pagefile_used_gb = _vm.get("total_pagefile_gb", 0) - _vm.get("avail_pagefile_gb", 0)
_commit_gb = _used_phys_gb + _pagefile_used_gb
if _pagefile_pct > 85.0 or _commit_gb > _total_phys_gb * 1.5:
_commit_total_gb = _total_phys_gb + _vm.get("total_pagefile_gb", 0)
_commit_pct = (_commit_gb / max(_commit_total_gb, 1)) * 100
if _commit_pct > 90.0:
_msg = (
f"系统内存压力过高: 物理剩余{_avail_phys_gb:.1f}GB,"
f"页面文件已用{_pagefile_pct}%,总提交{_commit_gb:.1f}GB>{_total_phys_gb*1.5:.1f}GB阈值"
f"提交量{_commit_pct:.1f}% ({_commit_gb:.1f}GB/{_commit_total_gb:.1f}GB)"
)
_write_crash_log(f"{datetime.now()} [easyocr_worker] 系统内存压力预检失败: {_msg}")
os.environ["EASYOCR_FORCE_CPU"] = "1"
@@ -131,8 +133,8 @@ try:
sys.stderr.flush()
except Exception:
pass # GlobalMemoryStatusEx 失败时不阻断
# ⭐ 检查页面文件:百分比>85% 或 剩余<2GB 时退出(防冻结)
if _vm and (_vm.get("commit_pct", 0) > 85.0 or _vm.get("avail_pagefile_gb", 99) < 2.0):
# ⭐ 检查页面文件:百分比>95% 或 剩余<2GB 时退出(防冻结)
if _vm and (_vm.get("commit_pct", 0) > 95.0 or _vm.get("avail_pagefile_gb", 99) < 2.0):
_msg = (
f"页面文件不足: 已用{_vm.get('commit_pct', '?')}%"
f"(剩余{_vm.get('avail_pagefile_gb', '?')}GB/{_vm.get('total_pagefile_gb', '?')}GB)"