garbage-collecting

jconsole 和日志文件之间的 Java 垃圾收集存在差异
garbage-collecting

jconsole 和日志文件之间的 Java 垃圾收集存在差异

我遇到了一个奇怪的问题:我的垃圾收集日志文件(由 -Xloggc 定义)将显示发生了 n 次垃圾收集,但 jconsole 将显示发生了 n+6 次垃圾收集。 我使用 ConcurrentMarkSweep(又名 CMS)指标来衡量这一点。例如,我在日志文件中看到 230 个“CMS-concurrent-sweep-start”示例,但 jconsole 报告发生了 236 个 CMS 事件。 我感到很困惑。有人能解释一下其中的区别吗?为什么 jconsole 记录了正好六个 CMS 事件? ...

Admin

循环遍历 $allArrays 中的所有 arrayList。$allArrays 中的每个 arrayList 包含 10K 个用户 ID。
garbage-collecting

循环遍历 $allArrays 中的所有 arrayList。$allArrays 中的每个 arrayList 包含 10K 个用户 ID。

使用 PS 7.3.4 代码运行良好,没有错误。 问题- 脚本消耗的 RAM 不断增长。如何释放 RAM?如何查看哪些内容消耗了 RAM?任何建议都将不胜感激。 处理 10K 输入批次后的内存结果 第一组 10K 内存结果结束。 收集之前使用的循环内存:1,208,928,432 完整收集后循环使用的内存:512,021,912 第二组10K内存结果结束。 收集前循环使用的内存:1,160,822,952 完整收集后循环使用的内存:929,192,840 第三组10K内存结果结束。 收集前循环使用的内存:2,168,048,568 完整收集后循环使用的内存:...

Admin

PHP5 升级到 PHP7 容器内内存使用量意外增加
garbage-collecting

PHP5 升级到 PHP7 容器内内存使用量意外增加

上周,我们通过 LXD 更新了几个 wordpress 网站,这些网站在主机(Ubuntu 20.04)内以容器形式运行 Alpine Linux。 更新概要如下: Alpine Linux v3.8 -> 3.14 PHP 5.3.6 -> 7.4.24 Wordpress 5.0.3 -> 5.7.3 问题 在进行这些更新后,我们开始遇到服务器性能问题,我们发现更新后的容器使用的内存(常驻内存)是旧容器的 3 倍或更多(约 150MB 对 50MB),这导致服务器开始更频繁地交换。 在旧版本(使用 PHP 5.3)中,(进程)使用的内...

Admin

编辑1:
garbage-collecting

编辑1:

我正在运行Solr云在 k8s 上使用以下设置: 堆参数: -server -Xms280m -Xmx312m 其他参数: -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:+UseAdaptiveSizePolicy -XX:ParallelGCThreads=4 -XX:AdaptiveSizePolicyOutputInterval=1 -XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=40 -XX:MaxGCPauseMillis=300 -XX:GCTimeR...

Admin

可能存在 Linux 页表问题/JVM 堆内存过大导致平均负载过大,从而导致 GC 日志中的系统时间过长
garbage-collecting

可能存在 Linux 页表问题/JVM 堆内存过大导致平均负载过大,从而导致 GC 日志中的系统时间过长

我们的服务在 AWS 的 m5.12xlarge 节点(48 核,192 G RAM)上运行,该节点使用 Ubuntu 16.04。我们使用 Java 8。对于我们的服务,我们分配了大约 150G 作为最大堆大小。我们在节点上没有交换。我们的服务的性质是它分配了大量的大型短期对象。除此之外,通过我们依赖的第三方库,我们创建了许多短期进程,这些进程通过管道与我们的进程通信,并在处理少量请求后被回收。 我们注意到,在进程启动后,进程的 RES(位于 top)达到约 70G 时,CPU 中断显著增加,JVM 的 GC 日志显示系统时间猛增至数十秒(有时为 70 ...

Admin

tomcat8:'free():损坏的未分类块'
garbage-collecting

tomcat8:'free():损坏的未分类块'

几天前,我们从 Ubuntu 16LTS 升级到了 Ubuntu 18LTS,从那时起,Apache Tomcat 彻底崩溃了两次(每天一次,间隔约 25 小时)。java 进程停止运行。 此时日志文件中添加了一行: free(): corrupted unsorted chunks (就是这样——没有时间戳) 它似乎与服务器上当时发生的任何特定操作无关,至少仅凭两个实例很难判断,但我怀疑它可能与垃圾收集有关。这是因为服务器监控显示,java 进程的内存使用量在一分钟内从 7.90GB 下降到 0.93GB(实际上 java 进程退出了,所以在我手...

Admin

升级 Ubuntu 和 OpenJDK 后,Tomcat 7 服务器的 Young GC 频率突然(数量级)增加
garbage-collecting

升级 Ubuntu 和 OpenJDK 后,Tomcat 7 服务器的 Young GC 频率突然(数量级)增加

问题是什么? 将实例升级到 Ubuntu 16.04 LTS 和 OpenJDK 8 后,经过数小时的正常运行后,GC 频率会突然增加几个数量级,最终使用不到 10% 的 HEAP。 我们分析了 GC 日志,除了频率增加外,没有发现任何异常。甚至 gceasy.io 也说一切正常。 它似乎不会对性能产生负面影响,但仍然是令人担忧的行为,Nagios/OP5 对此并不满意。分配率仅为 50mb/s,吞吐量和延迟是名义上的。 我们尝试废弃整个集群,从头开始安装所有内容,尝试了多种不同的 GC 和内存设置,但问题仍然存在。 以前有用过吗? 是的。在 U...

Admin

PHP 脚本导致服务器关闭
garbage-collecting

PHP 脚本导致服务器关闭

我有一台带有 4GB RAM 的 centos 服务器。我正在执行一个 PHP 控制台批处理,这可能需要几个小时……但是它没有完成,因为服务器在启动该过程 1 或 2 小时后关闭……以下是日志: Dec 28 04:39:01 www systemd[1]: Starting Clean php session files... Dec 28 04:39:02 www systemd[1]: Started Clean php session files. Dec 28 04:40:04 www systemd[1]: Stoppe...

Admin

空的 LAMP 会话
garbage-collecting

空的 LAMP 会话

我有一台 LAMP 服务器。用户登录并针对 MySQL 数据库进行身份验证。身份验证成功后,session_start()会调用。在任何时候都不会regenerate_session_id()调用。我遇到创建多个空的 PHP/apache 会话的情况。大约每秒都会创建一个空白会话文件。php.ini我有: session.gc_probability = 1 session.gc_divisor = 1 session.gc_maxlifetime = 1440 我意识到这与会话创建无关,而是与 GC ...

Admin

监控 SSD 的垃圾收集器
garbage-collecting

监控 SSD 的垃圾收集器

这固态硬盘控制器触发垃圾收集根据 GC 策略,当无效页面或已写入页面的数量达到特定阈值时,特定船舶或块上的例程(我猜测大多数 SSD 都使用贪婪策略)。 我正在尝试测量某些工作负载对特定 SSD 的影响,我已经使用以下方法进行了性能测量菲奥,但我希望走得更远。 有没有办法在 SSD 上的垃圾收集器例程被触发时收到通知? ...

Admin

CMS 垃圾收集运行后,WebLogic 服务器似乎冻结
garbage-collecting

CMS 垃圾收集运行后,WebLogic 服务器似乎冻结

我们正在使用 Java Hotspot 1.6 和 10.3.6 WebLogic 集群,其中 2 个节点在物理负载均衡器后面运行 OSB 11.1.1.7: java version "1.6.0_91" Java(TM) SE Runtime Environment (build 1.6.0_91-b13) Java HotSpot(TM) 64-Bit Server VM (build 20.91-b07, mixed mode) 我们已经调整了 JVM 以使用 CMS 并避免长时间运行垃圾收集: -XX:+DisableExplicitGC ...

Admin

w3wp.exe 中的垃圾收集导致 CPU 过高
garbage-collecting

w3wp.exe 中的垃圾收集导致 CPU 过高

我在 IIS8 中遇到了网站 CPU 过高的问题。这种情况随机发生,并不常见,但确实会发生,尤其是在网站负载过重时。阻止它的唯一方法是结束 w3wp.exe 进程的任务,这样就没问题了。 我尝试在下面进行调试诊断,但我似乎无法弄清楚它到底是什么意思,也无法理解它,因为它没有提供太多信息。我是否应该做其他事情来验证实际的问题区域是什么? In w3wp.exe__example.com__PID__4944__Date__04_25_2016__Time_10_28_23AM__521__PERFTRIG...

Admin

如何禁用 SSD 上的自动垃圾收集?
garbage-collecting

如何禁用 SSD 上的自动垃圾收集?

固态硬盘 (SSD) 具有垃圾收集释放已删除文件空间的功能。它触发 由驱动器自动 通过修剪操作系统发送的命令 有没有办法让 SSD 处于不发生自动垃圾收集的状态? 考虑到取证数据收集,我想确保图像的校验和在收集练习之间不会因为此功能而改变(所有其他预防措施都到位)。 ...

Admin

监控Java垃圾收集器和内存状态
garbage-collecting

监控Java垃圾收集器和内存状态

我正在使用 JRuby 在 Jboss 上运行一些 Rails 应用程序。 有时 Java 垃圾收集器无法释放内存,并且 jvm 会消耗所有可用内存。 我正在尝试使用 jstat 创建自定义指标,但无法找出一些有价值的统计数据,以便让我在 Java 崩溃之前检测到一些危险情况并在服务器上采取一些措施。 当 jvm 上的所有内存都被使用时,服务器的一个核心将保持满负荷状态,尝试收集并释放一些内存。 您知道如何检测 GC 何时将要失败吗? 谢谢。 ...

Admin

GC 长时间暂停和 ParNew(升级失败)
garbage-collecting

GC 长时间暂停和 ParNew(升级失败)

我们的一个 java 应用程序在执行 GC 时会出现很长的暂停,似乎是因为“ParNew(提升失败)”而花费了时间。 Java 版本: $ java -version java version "1.6.0_21" Java(TM) SE Runtime Environment (build 1.6.0_21-b06) Java HotSpot(TM) 64-Bit Server VM (build 17.0-b16, mixed mode) GC设置: JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCApplicationCo...

Admin