码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 为什么会没有内存了呢


    为什么会没有内存了呢?原因不外乎有两点:
    1)分配的少了:比如虚拟机本身可使用的内存(一般通过启动时的VM参数指定)太少。
    2)应用用的太多,并且用完没释放,浪费了。此时就会造成内存泄露或者内存溢出。
    内存泄露:申请使用完的内存没有释放,导致虚拟机不能再次使用该内存,此时这段内存就泄露了,因为申请者不用了,而又不能被虚拟机分配给别人用。
    内存溢出:申请的内存超出了JVM能提供的内存大小,此时称之为溢出。

    1、当发生OOM时,服务已基本不可用,并且会出现以下明显报错信息。
    2.JVM启动参数设置 -XX:+HeapDumpOnOutOfMemoryError 当发生OOM时自动输出堆的内存快照
    -XX:HeapDumpPath=/tmp 输出目录将dump文件java_pid1.hprof拷到本地如果忘记设置启动参数,也可以通过命令行获取dump文件使用JDK自带的jmap命令:jmap -dump:format=b,file=heap.bin
    3、本地先安装eclipse, 再安装MAT(Memory Analyzer Tool)工具,使用mat工具打开java_pid1.hprof文件,根据mat可以快速定位问题

    预防
    1、根据业务合理设置java内存大小,以及不定时查看业务运行时内存使用情况, 及时调整内存大小。
    2、在写代码时,应该有意识避免写查询大对象sql。
    3、针对循环业务要有意识避免内存不能释放进而导致OOM。

  • 相关阅读:
    基于超分辨率的遥感图像小目标检测
    使用开源ros包实现导航功能(一)
    Map声明、元素访问及遍历、⼯⼚模式、实现 Set - GO语言从入门到实战
    基于5G网络的智能车间MES设计方案
    css3-定位
    数据结构与算法之美学习笔记:16 | 二分查找(下):如何快速定位IP对应的省份地址?
    盲人辅助设备赋能视障人士,实时导航与避障打造无障碍生活
    黑龙江省等保评测常用的安全设备,看这一篇就够了
    【Matlab-绘图小知识点】
    第五单元 用python学习微积分(三十四)泰勒级数
  • 原文地址:https://blog.csdn.net/weixin_43206161/article/details/126273436
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号