You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu无头模式下Charles Proxy内存溢出及会话清理配置问题

Ubuntu无头模式下Charles Proxy内存溢出与会话自动清理解决方案

一、调整Java内存参数(修改-Xmx)

从报错日志可知,Charles的启动脚本是/usr/bin/charles,而非官方文档提到的charles.sh,调整内存参数有两种方式:

方式1:直接修改启动脚本

  1. 打开脚本文件:
sudo nano /usr/bin/charles
  1. 找到第47行的启动命令:
$JAVA -Xmx1024M -Dcharles.config="~/.charles.config" -Djava.library.path="$CHARLES_LIB" -jar $CHARLES_LIB/charles.jar $*
  1. 将-Xmx1024M改为更大的值(比如-Xmx4096M,根据服务器内存情况调整),保存退出后重启Charles即可。

方式2:通过环境变量设置(无需修改脚本)

启动Charles前,先设置环境变量:

export CHARLES_OPTS="-Xmx4096M"
charles --config /home/user/charles.config --headless

如果需要永久生效,可将export CHARLES_OPTS="-Xmx4096M"添加到~/.bashrc或/etc/profile文件中。

二、无头模式下配置会话自动清理

你设置的promptToClearSession和saveLowMem参数不适用于无头模式,需使用以下配置:

1. 修改Charles配置文件(charles.config)

在配置文件中添加或修改以下参数:

# 自动保存会话的间隔(单位:秒,示例为每1小时保存一次)
session.autoSaveInterval=3600
# 保存会话后自动清理当前会话
session.autoClearAfterSave=true
# 设置会话最大条目数,达到后自动清理旧条目(示例为10000条)
session.maxEntries=10000
# 设置会话最大占用内存(示例为2048MB)
session.maxSize=2048

修改后重启Charles,即可实现会话自动保存并清理。

2. 定时调用CLI命令清理(可选)

如果配置文件方式不生效,可结合cron定时任务调用Charles的CLI命令清理:

  1. 先在charles.config中开启远程控制:
remoteControl.enabled=true
remoteControl.port=8888
  1. 创建cron定时任务(比如每小时清理一次):
crontab -e

添加一行:

0 * * * * charles cli clear-session

保存退出后,cron会自动定时执行清理操作。

注意:使用CLI命令前,确保Charles已开启远程控制,且当前用户有权限执行该命令。

内容的提问来源于stack exchange,提问作者vvl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 12:05:25