项目实战20—内存长期占用导致系统缓慢

简介: 项目实战20—内存长期占用导致系统缓慢

前言:

发现问题,解决问题,是贯穿整个项目开发过程的事情,能够处理更多的问题,随着经验的丰富,提前预知更多的问题,让问题不出现是最好的解决问题方式。

问题背景:

项目运行过程中出现了爬取加载慢,核心服务内存占用很高的情况。

问题原因:

以下为分析出来的原因:

1.项目启动的时候分配的堆内存过小

2.项目运行过程中有大量的对象被创建出来,可是没有及时被GC回收,或者具有引用的GC无法回收

3.经过了GC之后,堆内的对象被清理,但是操作系统的内存没有被立刻释放

查看jvm用的是哪种垃圾回收器:

Windows+R > cmd > 输入命令 java -XX:+PrintCommandLineFlags -version

查看内存占用情况:

首先启动当前的项目

找到jdk的bin路径,找到jvisualvm.exe,双击打开

在左侧本地选择对应的项目,双击进去

点击红框内的监视

点击图右上角的“堆Dump”

查看到了内存占用情况

双击对应的行,查看详细的信息,根据信息选择针对性的解决方案

相关文章
|
4月前
|
缓存 监控 Linux
CentOS系统如何查看当前内存容量。
以上方法都不需要特殊软件或者复杂配置即可执行,在CentOS或其他Linux发行版中都适合运行,并且它们各自透露出不同角度对待问题解答方式:从简单快速到深入详尽;从用户态到核心态;从操作层数到硬件层数;满足不同用户需求与偏好。
355 8
|
5月前
|
存储 缓存 监控
手动清除Ubuntu系统中的内存缓存的步骤
此外,只有系统管理员或具有适当权限的用户才能执行这些命令,因为这涉及到系统级的操作。普通用户尝试执行这些操作会因权限不足而失败。
960 22
麒麟系统mate-indicators进程占用内存过高问题解决
【10月更文挑战第7天】麒麟系统mate-indicators进程占用内存过高问题解决
1428 2
|
9月前
|
监控 Linux Python
Linux系统资源管理:多角度查看内存使用情况。
要知道,透过内存管理的窗口,我们可以洞察到Linux系统运行的真实身姿,如同解剖学家透过微观镜,洞察生命的奥秘。记住,不要惧怕那些高深的命令和参数,他们只是你掌握系统"魔法棒"的钥匙,熟练掌握后,你就可以骄傲地说:Linux,我来了!
321 27
|
缓存 Java Linux
如何解决 Linux 系统中内存使用量耗尽的问题?
如何解决 Linux 系统中内存使用量耗尽的问题?
1136 59
如何在 Linux 系统中查看进程占用的内存?
如何在 Linux 系统中查看进程占用的内存?
1921 58
|
监控 Java Android开发
深入探讨Android系统的内存管理机制
本文将深入分析Android系统的内存管理机制,包括其内存分配、回收策略以及常见的内存泄漏问题。通过对这些方面的详细讨论,读者可以更好地理解Android系统如何高效地管理内存资源,从而提高应用程序的性能和稳定性。
535 16
|
监控 Java Android开发
深入探索Android系统的内存管理机制
本文旨在全面解析Android系统的内存管理机制,包括其工作原理、常见问题及其解决方案。通过对Android内存模型的深入分析,本文将帮助开发者更好地理解内存分配、回收以及优化策略,从而提高应用性能和用户体验。
|
机器学习/深度学习 人工智能 缓存
【AI系统】推理内存布局
本文介绍了CPU和GPU的基础内存知识,NCHWX内存排布格式,以及MNN推理引擎如何通过数据内存重新排布进行内核优化,特别是针对WinoGrad卷积计算的优化方法,通过NC4HW4数据格式重排,有效利用了SIMD指令集特性,减少了cache miss,提高了计算效率。
429 3