AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1345236
Accepted
Andreas
Andreas
Asked: 2021-06-12 05:42:39 +0800 CST2021-06-12 05:42:39 +0800 CST 2021-06-12 05:42:39 +0800 CST

自动管理交换/内存

  • 772

在填满所有内存并交换我的经验时,最近几年是:

  • Windows 和 macOS 会“哦,让我们为你解决这个问题”,然后可能会增加交换大小。打开例如 30 个 YouTube 标签会使事情变慢一段时间,但如果我想中止该过程,我通常仍然可以使用光标,之后系统的其余部分(不一定是有问题的应用程序)就像往常一样响应迅速.

  • Ubuntu (21.04) 出现“抱歉,在接下来的十到三十分钟内您无法与计算机交互”。在相同的硬件和相同的浏览器上,我可以打开 30 个 YouTube 标签并观看整个系统锁定。所有的内存和交换都用完了,游标不仅慢而且被锁定在原地。我无法与系统的其余部分进行有意义的交互。

不同之处似乎在于 Ubuntu 永远不会解决这种情况,保持其交换大小不变,因此永远每五秒锁定一次。直到发生灾难性故障,Firefox 消失得无影无踪——这在其他操作系统中几乎从未发生过。最关键的方面是我无法与系统的其余部分进行交互。

我不知道,但我的印象是,如果根据需求增加交换大小,这将不是问题。这是如何实现的?是否有更好的内存管理?


测试更新

在(不是那么快)进行评论中建议的快速测试之后,我将交换文件的大小翻了一番,我可以得出结论,它使世界变得与众不同。在相同的负载期间,系统始终保持响应。我只能得出结论,自适应交换大小将缓解所描述的问题。

$ free -h
              total        used        free      shared  buff/cache   available
Mem:          3.7Gi       3.1Gi       129Mi       374Mi       566Mi       105Mi
Swap:         4.0Gi       3.0Gi       988Mi

$ sysctl vm.swappiness
vm.swappiness = 60

$ swapon -s
Filename                Type        Size    Used    Priority
/swapfile_4G.img                        file        4194300 3180664 20

硬件注意事项

Ubuntu(以及其他)的卖点之一是获得持续支持并延长旧硬件的使用寿命,其中包括总内存低于平均水平的机器。内存不足的荒谬,正如其他操作系统可以做得很好的事实所证明的那样,只是低于平均水平。其中许多机器是不可升级的。

4 GB RAM 适用于大多数用例。在 Ubuntu 中,在 Windows 中,在 macOS 中。然而,似乎只有在 Windows 和 macOS 中才能正常工作的是,当您用完所有已分配的交换空间时。

简而言之,在使 Ubuntu 正常运行的解决方案变成“购买新硬件”的同一时刻,运行它的全部意义对所有这些机器来说都没有实际意义。升级硬件超出了这个问题的范围。

Ubuntu 标准版的要求是 4 GB 内存。

ram
  • 2 2 个回答
  • 388 Views

2 个回答

  • Voted
  1. Calum McConnell
    2021-06-15T08:31:50+08:002021-06-15T08:31:50+08:00

    Linux 内核在交换支持方面......不确定。从许多开发人员的角度来看,Swap 是二等公民。我的意思是用于弹出和获取页面的算法相当简单,并且当有很多常用页面时可能会崩溃。

    一个不错的解决方案可能是使用 zswap。这样做是将一块内存设置为压缩内存,然后将页面弹出到该内存中。为此,请编辑内核引导参数以添加zswap.enabled=1 zswap.compressor=lz4 zswap.max_pool_percent=20 zswap.zpool=z3fold. 在 Ubuntu 系统上执行此操作的最简单方法是将其添加到/etc/default/grub文件中,作为GRUB_CMDLINE_LINUX_DEFAULT密钥的一部分。这将有效地增加可存储在 RAM 中的数据量,减少磁盘 IO 并防止锁定。

    最后,您询问是否要动态创建更多交换空间。Linux 完全能够随意添加和删除交换文件,这意味着脚本可以检查交换可用性,然后在需要时添加交换文件。但是,如果您经常使用完整的交换空间,这并没有多大意义。

    要增加交换空间(无需重新分区磁盘),您可以使用交换文件。为此,请运行sudo dd if=/dev/zero of=/swapfile count=1M bs=1024 status=progress,它将 100 万个 1024 字节(即 1 GB)的块复制到一个文件中。然后,运行sudo chmod 0600 /swapfile并sudo mkswap /swapfile准备文件以用作交换。通过将以下行附加到该文件,将其添加到 /etc/fstab 以使其始终可用:/swapfile swap swap defaults 0 0. 要完成该过程,请调用sudo swapon -a激活交换文件。

    资料来源:我自己使用交换文件和 zswap,并参考了我的 bash_histroy 和 Arch wiki 的命令。

    • 1
  2. Best Answer
    Andreas
    2021-07-16T03:56:32+08:002021-07-16T03:56:32+08:00

    正如@Terrance Swapspace在评论中提到的那样,这是解决此问题的方法。

    apt install swapspace
    

    现在,您只需要一些免费存储来控制您的系统。测试和工作。

    • 0

相关问题

  • 将文件移动到 /dev/shm ramdisk 不会增加 RAM 使用率?

  • 为什么 Ubuntu 只显示 3GB 的 RAM?

  • 如何找出计算机系统具有的 RAM?[复制]

  • 在不重新启动服务器的情况下物理检查内存?

  • 如何检查我的 RAM 和硬盘驱动器是否有错误?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve