首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于空闲输出的RAM何时升级

基于空闲输出的RAM何时升级
EN

Unix & Linux用户
提问于 2021-09-27 07:29:33
回答 2查看 80关注 0票数 0

我有一个java应用程序,它运行在Linux服务器上,物理内存(RAM)分配为12 of,在这里我可以看到在一段时间内的正常使用情况,如下所示。

代码语言:javascript
复制
sys> free -h
              total        used        free      shared  buff/cache   available
Mem:            11G        7.8G        1.6G        9.0M        2.2G        3.5G
Swap:            0B          0B          0B

最近,在增加应用程序的负载时,我可以看到RAM的利用率几乎是满的,可用的空间非常少,我可能会遇到一些缓慢,但应用程序仍然很好地工作。

代码语言:javascript
复制
sys> free -h
              total        used        free      shared  buff/cache   available
Mem:            11G         11G        134M         17M        411M        240M
Swap:            0B          0B          0B
sys> free -h
              total        used        free      shared  buff/cache   available
Mem:            11G         11G        145M         25M        373M        204M
Swap:            0B          0B          0B

我提到了https://www.linuxatemyram.com/,它在这里提出了以下要点。

您可能需要查看的真正低内存状况的警告信号:

  • 可用内存(或“空闲+缓冲区/缓存”)接近于零。
  • 掉期使用增加或波动。
  • dmesg \ grep oom-杀手展示了工作中的记忆杀手

从以上几点来看,我在应用程序级别没有看到任何OOM问题,交换也被禁用了。所以忽略了这两点。困扰我的一点是可用内存不足零,我需要澄清。

问题:

如果可用的接近于0,它是否会以系统崩溃告终?

这是否意味着当可用内存减少时,我需要升级RAM?

应根据什么基础分配/增加RAM内存?

对于RAM内存分配,我们是否有任何需要遵循的官方建议/指导方针?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2021-09-28 08:11:31

如果可用的接近于0,它是否会以系统崩溃告终?

在我的一台服务器上进行测试时,我将内存加载到几乎满的内存中,如下所示

代码语言:javascript
复制
sys> free -h
              total        used        free      shared  buff/cache   available
Mem:            11G         11G        135M         25M        187M         45M
Swap:            0B          0B          0B

能够单独看到我的应用程序(它消耗了更多的内存)就被内存不足的杀手杀死了,它可以在内核日志中引用。

dmesg -e

代码语言:javascript
复制
[355623.918401] [21805] 553000 21805 69 21 2 0 0 rm
[355623.921381] Out of memory: Kill process 11465 (java) score 205 or sacrifice child
[355623.925379] Killed process 11465 (java), UID 553000, total-vm:6372028kB, anon-rss:2485580kB, file-rss:0kB, shmem-rss:0kB

https://www.kernel.org/doc/gorman/html/understand/understand016.html

内存不足杀手或OOM Killer是linux内核在系统内存严重不足时使用的一个进程。出现这种情况是因为linux内核为其进程分配了过多的内存。..。这意味着正在运行的进程需要比物理可用的内存更多的内存。

票数 1
EN

Unix & Linux用户

发布于 2021-09-27 09:10:57

如果可用的接近于0,它是否会以系统崩溃告终?

现代广泛使用的操作系统可以处理这种情况,因此,不,系统不会正常崩溃,尽管它可能会变得如此缓慢,您将无法实际使用它。

这是否意味着当可用内存减少时,我需要升级RAM?

您的可用RAM确实太低,可能会导致进程从RAM中被逐出。您可能应该添加更多的RAM。

应根据什么基础分配/增加RAM内存?

如果您的性能受到影响(即您正在观察磁盘因过度的交换使用而遭受重创),或者您无法完成您的工作,因为您没有足够的RAM来执行您的任务。

对于RAM内存分配,我们是否有任何需要遵循的官方建议/指导方针?

据我所知没有。每个人对RAM的需求是不同的。如果我们说的是2021年,现代操作系统、桌面环境和网络浏览器,4GB的RAM是绝对最低的,不过我建议不要少于8GB。最后,这取决于你的工作流程,没有人知道。在某些地区,人们已经拥有128 AI内存的工作站(视频和图像编辑、3D渲染、数学/化学/物理/工程计算和人工智能)。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/670800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档