码农知识堂 - 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。

  • 相关阅读:
    Windows一键启动所需要的软件脚本
    软件工程毕业设计课题(10)基于python的毕业设计python助农商城系统毕设作品源码
    中学校园IP网络广播系统解决方案-校园数字IP广播系统方案设计指南
    L1-071 前世档案(Python3)
    『亚马逊云科技产品测评』活动征文|Amazon RDS创建并连接到 MySQL 数据库实例
    SpringCloudAlibaba:1.体系概述
    蓝桥等考Python组别十八级006
    千兆光模块和万兆光模块已经过时了吗?
    统一所有 LLM API:支持预算与速率限制 | 开源日报 No.229
    GPU不够用:语言模型的分布式挑战
  • 原文地址: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号