我确信这是重复的但我已经仔细查看却没有找到答案。
我正在尝试在 Ubuntu 18.04 LTS 上运行 apt-get update。
它总是退出而不显示任何错误消息
当我输入 su -c "apt-get update" 时,输出如下:
Hit:1 http://mirrors.linode.com/ubuntu bionic InRelease
Hit:2 http://mirrors.linode.com/ubuntu bionic-updates InRelease
Hit:3 http://mirrors.linode.com/ubuntu bionic-backports InRelease
Hit:4 http://security.ubuntu.com/ubuntu bionic-security InRelease
Hit:5 http://ppa.launchpad.net/certbot/certbot/ubuntu bionic InRelease
然后我得到了命令提示符。我尝试以 root 身份登录并使用 sudo 而不是 su -c。
当我以 root 身份尝试时,情况变得更糟:
Get:37 http://mirrors.linode.com/ubuntu bionic-updates/multiverse amd64 Packages [6,408 B]
Get:38 http://mirrors.linode.com/ubuntu bionic-updates/multiverse Translation-en [3,452 B]
Get:39 http://mirrors.linode.com/ubuntu bionic-backports/universe amd64 Packages [3,472 B]
Get:40 http://mirrors.linode.com/ubuntu bionic-backports/universe i386 Packages [3,472 B]
Get:41 http://mirrors.linode.com/ubuntu bionic-backports/universe Translation-en [1,604 B]
Fetched 29.3 MB in 11s (2,604 kB/s)
Killedg package lists... 53%
我只使用了 25GB 驱动器的 25%(它是一个 Linode)。
根据Linode仪表板,服务器CPU负载一般在20%左右。
我之前已经通过临时升级服务器以加倍 RAM 和加倍 HD 大小解决了这个问题。
我认为问题在于 RAM 不够,因为硬盘还远远没有装满。
有什么方法可以更新服务器而不必调整其大小?
我可以暂时将所有内存用于更新过程吗?
答案1
有什么方法可以更新服务器而不必调整其大小?
是的,添加交换分区来帮助应对内存使用量的暂时增加。
sudo -s
touch /swapfile
fallocate --length 4G /swapfile
mkswap /swapfile
swapon /swapfile
chmod 600 /swapfile
您现在应该可以看到有额外的 4GB 交换空间可用。重启后,该空间将不再保留,如果您想要保留,则必须添加一行,如下所示/etc/fstab
:
/swapfile none swap sw 0 0
答案2
它确实需要 2+ GB 的 RAM 才能发挥最佳性能
答案3
如果其他人遇到类似的问题,以下是我实际解决 RAM 不足问题的方法。
我的 Linode 服务器应该有 4GB 的 RAM,但是当我运行
$ htop
很明显,只有 1GB 的 RAM 可用。
不知何故,我用来启动 Linode 的配置文件包含 1GB RAM 的人为限制,尽管实际限制是 4GB。
要查看是否是这种情况,您可以编辑活动配置文件:
第一个选项卡 › [配置名称] › 编辑(经典 Linode 管理器)
设置 › [配置名称] › … › 编辑(云管理器)
我不知道这个限制是如何设置的,但一旦我消除了限制,我就可以轻松更新服务器。