Oracle Cloud vm选择 我这里使用的rocklinux 9 x86,Arm就算了,抢不到的直接抢不到~,其他linux系统也类似,我感觉rocklinux比较稳定罢了。
免费套餐我们能用到的都是内存0.75G(可怜啊),我们依次优化一下 一、/boot瘦身 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 df Filesystem 1K-blocks Used Available Use% Mounted on devtmpfs 4096 0 4096 0% /dev tmpfs 389064 0 389064 0% /dev/shm tmpfs 155628 14744 140884 10% /run efivarfs 256 21 231 9% /sys/firmware/efi/efivars /dev/mapper/rocky-root 47636480 7450084 40186396 16% / /dev/sda2 958464 770680 187784 81% /boot /dev/sda1 101148 7190 93958 8% /boot/efi tmpfs 77812 0 77812 0% /run/user/1000
从上述结果可以看出,/boot已使用了81%,为防止下次 dnf update 更新内核时会报错中断,可能导致系统进入不完整更新的风险状态。(当然,vps一般是不会重启的,┑( ̄Д  ̄)┍)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 ls -lh /boot/initramfs-0-rescue* /boot/vmlinuz-0-rescue*-rw-------. 1 root root 80M Aug 27 18:01 /boot/initramfs-0-rescue-2521a84c90644bf9b4b098fefb33f947.img -rw-------. 1 root root 85M Jun 3 2025 /boot/initramfs-0-rescue-43fbf6126ccb4b77939c770eccfbe5b3.img -rw-------. 1 root root 81M Jan 13 10:56 /boot/initramfs-0-rescue-fe26d7bf1a8d4e52a3d099527b5ee2fb.img -rwxr-xr-x. 1 root root 15M Aug 27 18:00 /boot/vmlinuz-0-rescue-2521a84c90644bf9b4b098fefb33f947 -rwxr-xr-x. 1 root root 15M Jun 3 2025 /boot/vmlinuz-0-rescue-43fbf6126ccb4b77939c770eccfbe5b3 -rwxr-xr-x. 1 root root 15M Jan 13 10:55 /boot/vmlinuz-0-rescue-fe26d7bf1a8d4e52a3d099527b5ee2fb sudo rm /boot/initramfs-0-rescue-2521a84c90644bf9b4b098fefb33f947.imgsudo rm /boot/initramfs-0-rescue-43fbf6126ccb4b77939c770eccfbe5b3.imgsudo rm /boot/vmlinuz-0-rescue-2521a84c90644bf9b4b098fefb33f947sudo rm /boot/vmlinuz-0-rescue-43fbf6126ccb4b77939c770eccfbe5b3sudo rm /boot/initramfs-*-kdump.imguname -r5.14.0-570.33.2.el9_6.x86_64 sudo du -sh /boot/* | sort -rh | head -n 1085M /boot/initramfs-0-rescue-43fbf6126ccb4b77939c770eccfbe5b3.img 83M /boot/initramfs-5.14.0-611.30.1.el9_7.x86_64.img 83M /boot/initramfs-5.14.0-611.16.1.el9_7.x86_64.img 82M /boot/initramfs-5.14.0-570.33.2.el9_6.x86_64.img 81M /boot/initramfs-0-rescue-fe26d7bf1a8d4e52a3d099527b5ee2fb.img 80M /boot/initramfs-0-rescue-2521a84c90644bf9b4b098fefb33f947.img 49M /boot/initramfs-5.14.0-570.33.2.el9_6.x86_64kdump.img 15M /boot/vmlinuz-5.14.0-611.30.1.el9_7.x86_64 15M /boot/vmlinuz-5.14.0-611.16.1.el9_7.x86_64 15M /boot/vmlinuz-5.14.0-570.33.2.el9_6.x86_64 sudo dnf remove kernel-core-5.14.0-611.30.1.el9_7.x86_64sudo grub2-mkconfig -o /boot/grub2/grub.cfg
二、dnf.conf配置优化 1 sudo vi /etc/dnf/dnf.conf
1 2 3 4 5 6 [main] gpgcheck=1 installonly_limit=2 clean_requirements_on_remove=True # 卸载包时自动删除不再需要的依赖 fastestmirror=True # 让 dnf 自动找最快的镜像源(虽然 OCI 内部通常已经很快了) max_parallel_downloads=10 # 允许同时下载 10 个包,显著提升更新安装速度 skip_if_unavailable=True # 不因某个非核心仓库链接失效阻止继续更新
三、小内存Swap优化 1 2 3 4 5 6 7 echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.confecho "vm.vfs_cache_pressure=50" | sudo tee -a /etc/sysctl.confsudo sysctl -psudo dnf install zram-generator -ysudo vi /etc/systemd/zram-generator.conf
1 2 3 [zram0] zram-size = ram / 2 # 使用物理内存的一半作为 ZRAM compression-algorithm = zstd # 使用 zstd 压缩算法,效率最高
1 2 3 4 5 6 7 8 9 sudo systemctl daemon-reloadsudo systemctl start /dev/zram0sudo dd if =/dev/zero of=/swapfile bs=1M count=2048sudo chmod 600 /swapfilesudo mkswap /swapfilesudo swapon /swapfilesudo vi /etc/fstab
1 /swapfile none swap defaults 0 0
四、禁用不必要服务 1 2 3 4 5 6 sudo systemctl stop kdumpsudo systemctl disable kdumpsudo systemctl stop cockpit.socketsudo systemctl disable cockpit.socket
五、常见问题 问题描述 镜像失效
Rocky Linux 9 - SIG Cloud Common 394 B/s | 79 B 00:00 Error: Failed to download metadata for repo ‘cloud-common’: Cannot prepare internal mirrorlist: No URLs in mirrorlist
排查方法
1 2 3 4 5 ls /etc/yum.repos.d/ Rocky-SIG-Cloud-Common.repo epel-cisco-openh264.repo epel.repo oraclelinux-addons.repo rocky-devel.repo rocky.repo Rocky-SIG-Cloud-Kernel.repo epel-testing.repo epel.repo.rpmnew rocky-addons.repo rocky-extras.repo sudo nano /etc/yum.repos.d/Rocky-SIG-Cloud-Common.repo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [cloud-common] name=Rocky Linux $releasever - SIG Cloud Common mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=rocky-sig-cloud-common-$releasever #baseurl=http://dl.rockylinux.org/$sigcontentdir/$releasever/cloud/$basearch/cloud-common/ gpgcheck=1 enabled=1 countme=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-SIG-Cloud [cloud-common-testing] name=Rocky Linux $releasever - SIG Cloud Common baseurl=https://yumrepofs.build.resf.org/v1/projects/15016370-1410-4459-a1a2-a1576041fd19/repo/cloud-common/$basearch/ gpgcheck=1 enabled=0 countme=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-SIG-Cloud
1 2 3 sudo dnf clean allsudo dnf makecachesudo dnf update