Java内存占用过高问题分析-创新互联

  1. 这里我们创建一个springboot项目, 然后随便写一个contoller, 在这个controller中定义一个List集合, 然后再初始化的时候让集合中10万个字符串, 然后部署并启动项目(这里为了贴近实战, 我是在centos中启动的项目)

    成都创新互联公司长期为上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为田东企业提供专业的成都网站制作、成都网站建设、外贸营销网站建设田东网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。

  2. 进入系统, 使用top命令显示系统中的进程信息, 然后点击H(大写), 以内存排序

    这时我们看到, Java程序占用了5.5%的内存

    前面VIRT列表示的是java申请了多少内存, RES表示实际使用了多少内存 这里的单位是k

    在这里主要是看一下概率情况, 同时拿到java程序的进程编号

  3. jdk为我们提供了jmap工具, 这个工具可以帮助我们扫描java进行当前的内存情况

    jmap的功能很多, 这里我们主要使用这个工具查看占用内存最多的类型是什么

    # 这里稍微解释一下, | 的作用是拼接多个命令, |后面的命令利用前面的命令的执行结果继续执行
    jmap -histo:live 2249762 | head -20

    num : 表示行号, #instance

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站栏目:Java内存占用过高问题分析-创新互联
分享地址:http://azwzsj.com/article/ceoghj.html