当前位置: 首页 > 知识库问答 >
问题:

命令行工具,查找Java堆大小和内存使用(Linux)?

葛兴发
2023-03-14

是否有命令行工具(Linux)来检查Java应用程序的堆大小(和使用的内存)?

我已经通过jmap尝试过了。但它提供信息。关于诸如Eden/PermGen等内部内存区域,这对我来说并不有用。

    null

共有1个答案

谭志用
2023-03-14

每个Java进程都有一个PID,您首先需要使用jps命令找到它。

有了pid之后,就可以使用jstat-gc[insert-pid-here]查找垃圾收集堆行为的统计信息。

>

  • jstat-gccapacity[insert-pid-here]将提供有关内存池生成和空间功能的信息。

    请参阅Oracle网站上的jstat文档。

  •  类似资料:
    • 如何通过命令行检查Linux上Java应用程序的堆大小(和使用的内存)? 我已经通过jmap试过了。但它提供了信息。关于Eden/PermGen等内部记忆区域,这对我来说没用。 我在寻找这样的东西: 最大内存:1GB 这就是全部。我知道我可以在JConsole等中看到这一点,但我需要通过命令行来实现。(无法启用JMX等)

    • 上面链接中的代码正在工作,但可以传输到一定数量的数据。当我试图传输一个大小约为334 MB的.mkv格式的电影时,它给出了“内存不足,java堆大小”的错误。我是一个乞丐,我不知道如何解决这个问题,我试图在客户端程序中增加缓冲区大小,但问题仍然存在。请帮帮我.

    • 简介 我们基于Python SDK实现了命令行工具cloudml,可以方便使用访问Xiaomi Cloud-ML服务。 由于sdk的接口更新较快,命令的使用方式可以通过-h选项获取最新的使用方法。 初始化配置文件 cloudml init 查看帮助 cloudml -h TrainJob相关命令 列举训练job cloudml jobs list 提交训练job cloudml jobs s

    • 问题内容: 对于我的应用程序,Java进程使用的内存远远大于堆大小。 容器运行所在的系统开始出现内存问题,因为容器占用的内存比堆大小大得多。 堆大小设置为128 MB(-),而容器最多占用1GB的内存。正常情况下需要500MB。如果docker容器的限制低于(例如),则该进程将被操作系统的内存不足杀手杀死。 你能解释一下为什么Java进程使用的内存比堆多得多吗?如何正确调整Docker内存限制的大

    • 了解java堆大小的最简单方法是什么?使用命令提示符很容易获得它。

    • 工欲善其事,必先利其器。学好SQLite的命令行工具,对于我们学习SQLite本身而言是非常非常有帮助的。最基本的一条就是,它让我们学习SQLite的过程更加轻松愉快。言归正传吧,在SQLite的官方下载网站,提供了支持多个平台的命令行工具,使用该工具我们可以完成大多数常用的SQLite操作,就像sqlplus之于Oracle。以下列表给出了该工具的内置命令: 命令名 命令说明 .help 列出所