MacBook m1 max 64g 内存,为啥我用 PyCharm 一段时间后会卡?? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 成的内容
zhazhibao
V2EX    程序员

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

  •  
      zhazhibao 213 天前 2670 次点击
    这是一个创建于 213 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    13 条回复    2025-03-13 12:28:41 +08:00
    lasuar
        1
    lasuar  
       213 天前
    卡的时候没看内存占用?
    valord577
        2
    valord577  
       213 天前   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  
       213 天前
    1. GC 回收机制
    2. 其他程序占用了硬盘读写
    chenxiankong
        4
    chenxiankong  
       213 天前
    1. 更新最新版
    2. 禁用 metal ,用 opengl
    wsbqdyhm
        5
    wsbqdyhm  
       213 天前 via iPhone
    我也是同款,内存常年 48+,就是 ps+lrc+chrome 十多个标签 wx+其他十来个 app 小应用开着,后台一大堆东西没细看,好像有个 icopy 占用内存很多,准备卸了
    EeveeRibbon
        6
    EeveeRibbon  
       213 天前
    @valord577 compiler 拼错了吗?
    300
        7
    300  
       212 天前 via Android
    @valord577 应该再加个 NextGeneration
    C02TobNClov1Dz56
        8
    C02TobNClov1Dz56  
       212 天前
    @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  
       212 天前
    @chengyiqun 用 AI 分析了一下这个配置,好像有点问题。
    C02TobNClov1Dz56
        10
    C02TobNClov1Dz56  
       212 天前
    @wang93wei 有什么问题, 我现在用这个配置, 非常流畅啊
    INCerry
        11
    INCerry  
       212 天前
    这是我的配置,仅供参考,内存够的话可以再给足一些
    -Xms6G
    -Xmx6G
    -XX:MetaspaceSize=512m
    -XX:+TieredCompilation
    -XX:SoftRefLRUPolicyMSPerMB=512
    -XX:CICompilerCount=4
    -XX:+UseStringDeduplication
    -XX:+UnlockExperimentalVMOptions
    -XX:+UseShenandoahGC
    -XX:ShenandoahGCHeuristics=compact
    julyclyde
        12
    julyclyde  
       211 天前
    我其实觉得,是不是应该 heap 设置小一点,压迫 GC 更频繁的进行工作?
    这样其实可以减少每次的工作量
    julyclyde
        13
    julyclyde  
       211 天前
    其实我也挺喜欢 pycharm 的。但是我不喜欢 java
    于是戒了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1020 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 18:35 PVG 02:35 LAX 11:35 JFK 14:35
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86