什么时候触发Young GC—针对年轻代 当Eden区满了的时候,会触发Young GC 什么时候触发 Full GC—针对整个堆 -XX:HandlePromotionFailure:是否设置空间分配担保 JDK7及以后这个参数就失效了. 只要老年代的连续空间大于新生代对象的总大小或者历次晋升到老年代的对象的平均大小就进行MinorGC,否则FullGC 所谓大对象,是指…
Leave a Comment分类: 计算机
背景 一次项目巡检发现某个项目的函数执行TP99的波动很大: 看这个图感觉很离谱,随即排查问题原因,看到JVM的监控如下: 发现程序一直在执行fullGC,我们知道fullGC的成本是非常大的,这肯定是导致应用卡顿的原因。 尝试解决 我去看了机器的监控,发现服务是部署在8G内存的容器里面的,实际占用内存只有7%都不到。 通过这里我们知道,实际机器的内存还是有很大的富余的,那肯定是哪里限制了jvm去…
Leave a Comment起因 在一次迭代中,出现了一个低级错误,if 语句中的判断逻辑出现了错误,刚好这个功能场景在开发和测试过程中很少触发,使用的用户也不多,不过的确影响到了少部分用户,所以还是需要进行修复。 想着只是更新一行代码,如果走正常的发布流程,需要通过以下步骤: 提交代码 -> 提测打包 -> 测试环境git验证 -> Release 环境验证 -> 预发环境验证 -> 线上环境…
Leave a Comment如果你像我一样使用 Promox 的 AMD 处理器 并且不能添加温度监控,那么你很幸运,只需按照我下面的操作进行,应该就可以实现对AMD的处理器进行温度监控。 apt-update && apt-get install lm-sensors -y 现在,我们需要修改一些文件。稳妥起见,建议你先备份这些要修改的文件,以防万一。 2. 编辑文件: /usr/share/perl5/P…
Leave a Comment下载源码 GNU 官方下载地址:http://ftp.gnu.org/gnu/gcc/ 下载依赖及配置文件 配置 编译 这一步耗时非常久,给笔电插上电源,耐心等待吧。 安装 验证安装 完成上面所有操作后,关闭当前终端,开一个新的终端(或重启电脑),运行 gcc -v 至此就完成 gcc 11.2.0 的编译安装了。 参考资料: https://muzing.top/posts/16a16b69/ …
Leave a Comment背景 尝试编译一个项目被提示: CMake 3.10 or higher is required. You are running version 2.8.12.2 尝试yum卸载当前的cmake重新用yum安装,发现装的还是2.X版本的cmake 方案 下载最新源码自己自行编译安装 下载cmake源码: https://cmake.org/download/ 编译源码&安装cmake 检…
Leave a Comment我在我的pve虚拟化的centos7系统里面尝试运行MongoDB的时候,出现错误提示: 啥情况? 我在我的centos7系统里面执行指令: 确实是没有这个指令集支持。 我的机器可是AMD(16 x AMD Ryzen 9 5900HX with Radeon Graphics)的CPU啊! 网上查了下这个U,是支持这个指令集的啊。 然后我又怀疑是PVE惹的祸,我去pve的控制台查看了下: 我的C…
Leave a Comment固态硬盘自流入市场以来,就一直被用户尤其是游戏玩家所追捧,其出色的读写性能让许多大量加载贴图的游戏进图变成秒读,让玩家们告别了漫长的等待。不过在体验的过程中,一部分用户又开始研究起固态硬盘的闪存颗粒了,一起来看看固态硬盘的颗粒都有哪些吧? 简单来说,固态硬盘的分类有两个方向,一个是从其质量上区分,一个是从技术上区分,这两个区分的方向大家都讨论的热火朝天,一边是SLC\MLC\TLC等颗粒,一边是原…
Leave a Comment背景 最近在用c#写一些小程序,开发编译都没问题,开发出来的东西也很小几百kb。 但是在将程序分发给别人用的时候,问题就来了。用户打开程序的时候会提示缺少.net framework运行环境,比较麻烦。。 如下错误: 解决问题 了解如何使用 .NET Core 中的一项新功能轻松创建一个完全独立的 EXE 应用程序。 .NET Core 3.0 中的一项很酷的新功能是您可以轻松构建包含整个应用程序…
Leave a Comment