gpt4 book ai didi

java - Spring Boot 在 Linux 中运行比 Windows 使用更多的内存

转载 作者:行者123 更新时间:2023-12-02 03:27:07 25 4
gpt4 key购买 nike

我试图弄清楚为什么同一个 Web 应用程序在 Ubuntu Linux 16 中使用的内存比在 Windows 10 中运行的内存要多。有什么理由吗?我一直认为 Linux 在服务器模式下运行任何应用程序都更快、更轻。顺便说一下,两个操作系统 (OS) 都是 64 位。

请参阅下面的屏幕截图和消耗的内存。

Windows 10 Windows 10Ubuntu Linux Ubuntu Linux正如您在任务管理器中看到的那样,Linux 使用更多的 morey 来运行相同的应用程序。我还尝试在 64 位 VM 中运行 Spring Boot,这比在简单的 32 位 VM 中运行需要更多内存。

Windows 使用 Spring Boot 管理 Java 应用程序是否更好?

最佳答案

正如评论中提到的,Windows 和 Linux 有不同的内存管理系统。它们的内存使用情况可能不同的原因有多种,例如,如果 Windows Java 使用由另一个应用程序加载的动态链接库 (DLL),则它可能不会在内存分配计算中包括共享库。此外,在 Windows 和 Linux 上实现 JVM 及其 API 所需的代码可能有所不同。

当程序运行时,Windows 和 Linux 可能会根据操作系统配置和内核编程方式将 JVM 的不同部分分页或交换到磁盘。

您最好的选择是通过 VisualVM 等 Java Profiler 运行代码,以尝试获取有关应用程序各个部分使用了多少内存的更多信息。 Windows 计算程序的实际内存使用情况可能非常棘手,请参阅 https://superuser.com/questions/895168/how-to-measure-total-ram-usage-of-a-program-under-windows

关于java - Spring Boot 在 Linux 中运行比 Windows 使用更多的内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38687921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com