한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

游戏卡顿白皮书 › L2 客户端操作系统与设备

客户端内存不足/swap Paging / swap on client

原因 ID co-swap · 主责 外部·外部 · 配合 研发团队·客户端开发

在含图示和实验的完整版中打开此卡片 →

同时开着几十个浏览器标签页和游戏时,操作系统会把游戏的一部分内存换出到磁盘。

起因 整机内存不足 → 结果 操作系统把暂时不用的游戏内存移到磁盘 → 画面表现 再次用到那部分内存时,视存储设备不同卡住几十到几百 ms

症状
卡住, 一卡一卡
因素
停顿
谁会遇到
只有我
何时出现
移动中/切换地图时, 偶尔随机
负责方
主责 外部·外部 · 配合 研发团队·客户端开发
研发团队要做的事
减少内存占用,剩余内存不足时显示警告。
外部要做的事
向玩家说明最低配置,引导玩家游戏时关闭其他程序(浏览器标签页等)。
监控图上
偶发随机尖峰 · 硬缺页、内存占用
查看位置
把性能监视器的 Memory\Pages Input/sec(为处理硬缺页而从磁盘读取的页数)、任务管理器“性能”选项卡的内存占用和已提交量与帧耗时一起记录
确认依据
卡住的瞬间 Pages Input/sec 飙升,内存几乎占满。关闭浏览器等其他程序后消失
排除依据
内存有余量、Pages Input/sec 平稳,看“主线程同步加载/Shader 编译”或“存储设备过慢导致资源流式加载滞后”
确认手段
需在玩家侧环境确认

出处

  1. Introduction to the page file Microsoft
    页面文件是磁盘上的文件,用来把不常用的已修改内存页从内存中换出
  2. Working Set Microsoft
    访问不在内存中的页会发生缺页(page fault),硬缺页要从页面文件等磁盘位置读回才能解决
  3. Chapter 12 - Detecting Memory Bottlenecks Microsoft
    Memory\Pages Input/sec:为处理缺页而从磁盘读取的页数(硬缺页)

相关原因

同一层:L2 客户端操作系统与设备

其他层中同样导致“卡住”的原因

查看含图示和实验的原卡片