V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zhazhibao
V2EX  ›  程序员

MacBook m1 max 64g 内存,为啥我用 PyCharm 一段时间后会卡??

  •  
  •   zhazhibao · 21 小时 3 分钟前 · 1495 次点击

    Maximum Heap Size 我都调整为 10G ,居然用一段时间后打字都会卡顿?

    10 条回复    2025-03-12 11:46:29 +08:00
    lasuar
        1
    lasuar  
       20 小时 21 分钟前
    卡的时候没看内存占用?
    valord577
        2
    valord577  
       19 小时 49 分钟前   ❤️ 2
    具体情况还是得拿出日志和 jvm logs 来分析 以下只是猜想:

    1. java 运行期间会做 jit 储存 jit 也有个 size 当这个满了后 会导致卡顿
    2. 默认的 gc 在回收内存时 会导致卡顿

    下面是我的 idea.vmoptions 仅供参考

    -Xms1024m
    -Xmx2048m
    -XX:+UseZGC
    -XX:SoftRefLRUPolicyMSPerMB=0
    -Dfile.encoding=UTF-8
    -Djava.complier=NONE
    -XX:+HeapDumpOnOutOfMemoryError
    -XX:-OmitStackTraceInFastThrow
    -XX:+IgnoreUnrecognizedVMOptions
    -XX:+UnlockDiagnosticVMOptions
    -ea
    -Dsun.io.useCanonCaches=false
    -Dsun.java2d.metal=true
    -Djbr.catch.SIGABRT=true
    -Djdk.http.auth.tunneling.disabledSchemes=""
    -Djdk.attach.allowAttachSelf=true
    -Djdk.module.illegalAccess.silent=true
    -Dkotlinx.coroutines.debug=off
    -Dapple.awt.application.appearance=system

    -Dnosplash=true

    -XX:ErrorFile=$HOME/Downloads/java_error_in_idea_%p.log
    -XX:HeapDumpPath=$HOME/Downloads/java_error_in_idea.hprof
    ugpu
        3
    ugpu  
       19 小时 30 分钟前
    1. GC 回收机制
    2. 其他程序占用了硬盘读写
    chenxiankong
        4
    chenxiankong  
       18 小时 36 分钟前
    1. 更新最新版
    2. 禁用 metal ,用 opengl
    wsbqdyhm
        5
    wsbqdyhm  
       14 小时 10 分钟前 via iPhone
    我也是同款,内存常年 48+,就是 ps+lrc+chrome 十多个标签 wx+其他十来个 app 小应用开着,后台一大堆东西没细看,好像有个 icopy 占用内存很多,准备卸了
    qiaofanxing
        6
    qiaofanxing  
       13 小时 38 分钟前
    @valord577 compiler 拼错了吗?
    winterbells
        7
    winterbells  
       5 小时 29 分钟前 via Android
    @valord577 应该再加个 NextGeneration
    chengyiqun
        8
    chengyiqun  
       4 小时 47 分钟前
    @valord577 小内存用 ZGC 下不会比 G1 明显优势的吧?

    下面是我的 idea.vmoptions 配置参考

    # 忽略未识别参数
    -XX:+IgnoreUnrecognizedVMOptions

    # 元空间大小
    -XX:MetaspaceSize=512M
    -XX:MaxMetaspaceSize=1G

    # 增加堆内存大小
    -Xms2g
    -Xmx6g

    # 调整代码缓存大小
    -XX:InitialCodeCacheSize=512m
    -XX:ReservedCodeCacheSize=512m
    # 调整 JIT 编译器的参数
    -XX:CICompilerCount=2
    -XX:TieredStopAtLevel=1
    -XX:MaxInlineLevel=3
    -XX:Tier4MinInvocationThreshold=100000
    -XX:Tier4InvocationThreshold=110000
    -XX:Tier4CompileThreshold=120000
    -XX:-DontCompileHugeMethods
    # 关闭热度衰减
    -XX:-UseCounterDecay
    # 编译阈值,被调用多少次后,就编译为机器码,在 client 下默认是 933 server 默认是 140
    -XX:OnStackReplacePercentage=933

    #立即分配内存
    -XX:+AlwaysPreTouch

    # int 缓存
    -XX:AutoBoxCacheMax=20000

    # gc 收集器
    # 使用 G1 收集器
    -XX:+UseG1GC
    #G1 开启字符串去重
    -XX:+UseStringDeduplication
    #GC 最大暂停时间(毫秒, 默认 200)
    #低配置机器( 8GB 内存以下): 设置 200ms 或更高,以减少 GC 的频率,避免频繁触发
    #高配置机器( 16GB 内存或以上): 设置为 100ms ,以追求更流畅的用户体验。
    #小型项目:100ms 足够,保证交互流畅。
    #大型项目(超过 10 万行代码):建议设置为 150ms 到 200ms ,避免频繁的 GC 暂停。
    -XX:MaxGCPauseMillis=100


    -XX:SoftRefLRUPolicyMSPerMB=50
    -XX:+HeapDumpOnOutOfMemoryError
    -XX:-OmitStackTraceInFastThrow

    -Dsun.io.useCanonCaches=false
    -Dsun.java2d.metal=true
    -Djbr.catch.SIGABRT=true
    -Djdk.http.auth.tunneling.disabledSchemes=""
    -Djdk.attach.allowAttachSelf=true
    -Djdk.module.illegalAccess.silent=true
    -Dkotlinx.coroutines.debug=off
    -XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log
    -XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof
    -XX:CompileCommand=exclude,com/intellij/openapi/vfs/impl/FilePartNodeRoot,trieDescend


    # 解决一些小问题
    -Dide.no.platform.update=true
    -Djava.net.preferIPv4Stack=true
    -Dfile.encoding=UTF-8

    --add-opens=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED
    --add-opens=java.base/jdk.internal.org.objectweb.asm.tree=ALL-UNNAMED
    wang93wei
        9
    wang93wei  
       4 小时 28 分钟前
    @chengyiqun 用 AI 分析了一下这个配置,好像有点问题。
    chengyiqun
        10
    chengyiqun  
       3 小时 6 分钟前
    @wang93wei 有什么问题, 我现在用这个配置, 非常流畅啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5348 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 06:52 · PVG 14:52 · LAX 23:52 · JFK 02:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.