0%

检查自己的 KVM 内存有没有被超售

KVM 内存超售的方法,一般而言就三种:

  1. 内存交换(Swap)
  2. 气球驱动(Balloon)
  3. KSM(Kernel Samepage Merging)

1. 内存交换(Swap)

当系统内存不够用时,宿主机会把部分长时间未操作(读写)的内存交换到磁盘上的 Swap 分区,等相关程序需要运行时再恢复到内存中。

说白了,就是宿主机把 Swap 当内存用。

2. 气球驱动(Balloon)

通过 virtio_balloon 驱动,可以动态调整 Guest 与 Host 的可用内存空间。Balloon 的工作原理,是在虚拟机中安装一个 kmod。当 KVM 宿主机内存不足时,会根据 virtio_balloon 判断哪些内存页面可以被回收,然后由 virtio_balloon 占用这些内存,并返回给宿主机使用。

说白了,就是小鸡里有一个“间谍” virtio_balloon。当 KVM 宿主机内存不足时,virtio_balloon kmod 会申请占用小鸡的空闲内存,占用后的这部分内存会释放回宿主机。

3. KSM(Kernel Samepage Merging)

KSM 是一种内存合并技术,它可以在 KVM 中实现内存共享,从而节省内存空间。它是 Linux Kernel 的一种内存共享机制,在 2.6.32 版本引入,用于合并具有相同内容的物理主存页面,以减少页面冗余。

在 Kernel 中,KSM 会定期扫描用户注册的内存区域。当发现有相同的页面时,就会将它们合并,并用一个添加到页表中的新页面来代替原来的页面。当页面需要修改时,再复制新的内存页做修改,也就是 copy-on-write

说白了,就是不同小鸡里相同的内存页面如果有重复,KVM 宿主机会把这些页面只保存一份。

各个方案的问题,以及如何发现内存被超售

宿主机加 Swap 当内存

这个方法是最蠢的,看一下 iowait 就能发现。

如果客户长期跑基于内存的应用,例如 memcached,还会导致 IO 爆表,也就是大家常说的“滥用内存”。

这种情况基本测试一下内存就能发现:如果内存读取速度低于 1 GB/s,那就很可疑了,毕竟 DDR3 ECC 都比这个快。

小鸡被加了气球驱动(Balloon)

先检查:

1
lsmod | grep virtio

看看有没有 virtio_balloon。如果有,可以直接rm:

1
rmmod virtio_balloon

这种方法对性能来说没有明显缺点,但问题是客户的 RAM 会莫名其妙少一大截。

KSM(Kernel Samepage Merging)合并内存页

这种方法正常来说没有什么明显缺点,但如果 KVM 宿主机的内存已经满了,当客户机(小鸡)想修改内存页时,就必须先复制新的内存页,再做修改,也就是 copy-on-write

如果这时内存不够,就可能触发 OOM Killer,导致进程直接崩溃。

如何检查 KSM 超售

进入目录:

1
cd /sys/kernel/mm/ksm

里面有几个关键文件:

  • run:是否开启 KSM。为 1 时表示开启,0 表示停止,2 表示正在强行停止 KSM 并取消合并所有合并页。
  • pages_shared:共享的物理页数。
  • pages_sharing:正在被共享的物理页数。

检查命令:

1
cat /sys/kernel/mm/ksm/run

个人结论

我好像有一点洁癖,不允许我的内存被超售。

国际互联优秀是怎么判断的?

国际线路优秀 ≠ 国际互联优秀

首先需要明确一个观点:国际线路优秀,不等于国际互联优秀。

  • 国际线路:指接入的 T1 ISP 数量多。
  • 国际互联:是指与大多数常用业务之间的连接速率、稳定性等指标表现优秀。

案例分析:DMIT 香港节点

以行业内常被讨论的 DMIT 为例,其在香港地区接入了众多 T1 ISP,例如:

  • Cogent
  • NTT

同时也接入了一些 T2 ISP,例如:

  • RETN(主要面向欧洲方向优化)
  • 大陆相关网络(主要针对大陆优化)

如何查看这些线路?

可以使用 bgp.tools 网站:

输入 IP 地址,即可查询该 IP 段从 BGP Tools 的路由器接收到的、由 DMIT 广播的路由信息。

示例截图如下:

DMIT HK Pro 的 BGP 路由信息

上图是 DMIT HK Pro 产品的路由信息。

虽然该产品接入了大陆优化线路,但由于 BGP Tools 并未从这些线路接收到广播,因此展示出来的仍然是国际互联线路信息。

从图中可以看到:

  • 从 DMIT 的 AS906 广播出去后,连接到了 T1 ISP:Cogent 和 NTT;
  • 也连接了 T2 ISP:RETN;
  • 例如连接到 Lumen(AS3356)或 PCCWG(AS3491)时,是通过 NTT(AS2914)转发的;
  • 这背后涉及成本与路由策略问题,本文暂不展开。

因此可以初步判断:DMIT HK Pro 产品的国际线路是比较优秀的。

那么国际互联的表现如何?

我们可以使用工具网站进行测试:

这里以 ping.pe 为例:

ping.pe 测试结果

可以看到:

  • 去欧洲的延迟并不理想。

这说明一件事:接入了较多优秀的国际线路,并不代表国际互联表现一定优秀。
实际表现仍然取决于入站、出站路由策略,以及不同方向上的网络调度是否合理。

总结

用料是用料,调教是调教。

判断线路不能只看接入了哪些 ISP,还要看实际的入站、出站路由策略。

在选择服务器或节点前,务必提前测试路由。

如果发现与预期线路不一致,可以联系商家请求调整。

一般拥有自有路由器的商家,通常具备调路由能力,因为他们收到的是全表而不是默认路由。
这既是对产品质量的提升,也是对用户体验的负责。

全网最全 eSIM 换设备大全

最新最全 eSIM 换设备方法大全

涵盖「Apple eSIM Quick Transfer ✅」「复用原二维码 ♻️」「申请新二维码 📄」「不支持 ❌」。

1. 港澳 eSIM

  • 🇭🇰 3HK DIY:App 申请 📄(28 HKD/次)
  • 🇭🇰 Club SIM:App 申请 📄(每年 1 次免费,超额需门市)
  • 🇭🇰 Birdie Mobile:同设备 ♻️;换设备 📄(50 HKD/次,下月返还)
  • 🇭🇰 SoSIM:App 申请 📄(28 HKD/次)
  • 🇭🇰 CUniq:门市 📄(部分客服可远程下发)
  • 🇲🇴 CTM:同设备 ♻️;换设备 📄

2. 亚洲 eSIM

  • 🇲🇾 TuneTalk:App 申请 📄
  • 🇶🇦 Ooredoo 卡塔尔:App 申请 📄
  • 🇹🇭 AIS 泰国:客服 📄(可能需护照资料)
  • 🇸🇬 Singtel:❌ 不支持
  • 🇵🇭 Smart / Globe:同设备 ♻️
  • 🇱🇰 Hutch:客服或门市 📄
  • 🇱🇰 Dialog:邮件 📄(护照 + 签名),支持 ✅ Quick Transfer
  • 🇲🇲 Ooredoo 缅甸:同设备 ♻️ 或官网 📄
  • 🇻🇳 Vietnamobile:同设备 ♻️(部分失败需 📄)
  • 🇰🇿 Tele2:App 申请 📄
  • 🇹🇼 中华电信 / 台湾大哥大:门市 📄
  • 🇯🇵 SoftBank / KDDI au / NTT docomo:✅ Quick Transfer 或门市 📄
  • 🇰🇷 LG U+:✅ Quick Transfer 或门市 📄

3. 欧洲 eSIM

  • 🇬🇧 Vodafone UK:邮箱 📄(附件密码为生日 ddmmyyyy
  • 🇬🇧 Three UK:App 申请 📄
  • 🇬🇧 giffgaff:App 申请 📄
  • 🇨🇭 Yallo / Lebara:App 申请 📄
  • 🇫🇷 Free Mobile:App 申请 📄(线路管理 → 我的 eSIM)
  • 🇦🇹 educom:同设备 ♻️,失败需官网 📄
  • 🇳🇱 Simyo:App 申请 📄
  • 🇮🇹 Spusu:同设备 ♻️
  • 🇲🇩 Moldtelecom:App 申请 📄(25 MDL/次)
  • 🇪🇪 Super:❌
  • 🇬🇪 Cellfie:同设备 ♻️
  • 🇸🇮 re:do:❌
  • 🇱🇻 LMT:门市 📄
  • 🇱🇹 Pildyk:❌
  • 🇷🇴 YOXO:❌
  • 🇫🇮 Elisa:❌
  • 🇧🇦 BH Telecom:同设备 ♻️ 或 ✅ Quick Transfer
  • 🇲🇰 Telekom 北马其顿:客服 📄
  • 🇩🇪 Telekom DE:App / 官网 📄(MeinMagenta → eSIM aktivieren)
  • 🇩🇪 Vodafone DE:部分 App 📄,多数需门市 📄
  • 🇺🇦 Lifecell:同设备 ♻️
  • 🇮🇪 Vodafone IE:同设备 ♻️

4. 美国 eSIM

  • 🇺🇸 Google Fi:App ✅ Quick Transfer
  • 🇺🇸 Ultra Mobile:App 申请 📄(每年 3 次免费)
  • 🇺🇸 Tello:官网 📄
  • 🇺🇸 RedPocket / FreedomPop:✅ Quick Transfer 或客服 📄
  • 🇺🇸 T-Mobile:✅ Quick Transfer;旧机不可用时电话 📄(需号码 + PIN)
  • 🇺🇸 US Mobile:App 客服 📄

5. 大洋洲 eSIM

  • 🇦🇺 AmaySIM:App 申请 📄(新设备登录下载)
  • 🇦🇺 Felix:App 申请 📄
  • 🇦🇺 Optus:门市 📄
  • 🇦🇺 Vodafone AU:App 申请 📄
  • 🇳🇿 One / Spark:同设备 ♻️

6. 非洲 eSIM

  • 🇳🇬 MTN 尼日利亚:同设备 ♻️
  • 🇳🇬 Airtel 尼日利亚:门市 📄
  • 🇲🇦 Orange 摩洛哥:同设备 ♻️(部分套餐有限制)

标记说明

  • ✅ Quick Transfer:Apple 原生换机转移
  • ♻️:删除后可复用原二维码
  • 📄:需申请新二维码(App / 官网 / 门市 / 客服)
  • ❌:暂不支持

详细说明

以下内容按原文整理;个别条目原文未补充完整,已明确标注。

亚洲地区

  • 马来西亚 Yoodo eSIM:在 App 内点击 Manage Lines,选择 Order Replacement SIM 进行换卡。完成后点击 Activate a Replacement SIM 激活替换。此过程需要重新实名。
  • 马来西亚 TuneTalk eSIM:在 TuneTalk App 内点击“更多 → 额外服务 → 更换 SIM 卡 → 切换设备 → 我需要新的 eSIM”,即可进行更换操作。
  • 马来西亚 Hotlink eSIM:在 App 内操作更换。
  • 菲律宾 Globe eSIM:原设备联网并删除后,新设备扫描原二维码即可。
  • 菲律宾 Smart eSIM:原设备联网并删除后,新设备扫描原二维码即可。
  • 菲律宾 DITO eSIM:需要联系客服进行更换。
  • 泰国 AIS eSIM:联系客服重新获取新的二维码。
  • 卡塔尔 Ooredoo eSIM:在 App 内选择重新换卡即可。
  • 斯里兰卡 Dialog eSIM:安卓需要联系客服进行更换;iPhone 支持 eSIM Quick Transfer,选择“添加 eSIM → 从附近 iPhone 转移”即可操作成功。
  • 哈萨克斯坦 Tele2 eSIM:在 Tele2 KZ App 内点击 Ещё → Заменить SIM,选择 eSIM 并点击 Начать замену SIM,即可进行更换。
  • 哈萨克斯坦 Beeline eSIM:原文未补充具体方法。
  • 日本 SoftBank eSIM:安卓需要线下门店申请新的二维码;iPhone 支持 eSIM Quick Transfer,选择“添加 eSIM → 从附近 iPhone 转移”即可操作成功。
  • 日本 NTT Docomo eSIM:安卓需要线下门店申请新的二维码;iPhone 支持 eSIM Quick Transfer,选择“添加 eSIM → 从附近 iPhone 转移”即可操作成功。
  • 日本 KDDI au eSIM:安卓需要线下门店申请新的二维码;iPhone 支持 eSIM Quick Transfer,选择“添加 eSIM → 从附近 iPhone 转移”即可操作成功。
  • 韩国 LG Uplus eSIM:原文未补充具体方法。
  • 韩国 SK Telecom eSIM:原文未补充具体方法。
  • 韩国 KT eSIM:原文未补充具体方法。
  • 新加坡 Singtel eSIM:原文仅标注为“不支持”。

欧洲地区

  • 德国 Vodafone eSIM:原设备联网并删除后,新设备扫描原二维码即可(需要记得 PIN 码)。也可在 vodafone.de 用户中心查看,获取二维码及 PIN 码等信息。
  • 英国 Vodafone eSIM:iPhone 支持 eSIM Quick Transfer,选择“添加 eSIM → 从附近 iPhone 转移”即可操作成功。安卓手机需要原设备联网并删除后,邮箱会收到新的二维码,重新扫码激活即可(附件密码为生日日期)。
  • 英国 giffgaff eSIM:在 App 内点击 SIM → Replace my SIM → Switch to a new eSIM,即可进行更换。
  • 格鲁吉亚 Cellfie eSIM:原设备联网并删除后,新设备扫描原二维码即可。
  • 英国 Three eSIM:在 App 内点击 Account → Help → Replace SIM,即可进行更换。
  • 法国 Free Mobile eSIM:原设备联网并删除后,进入 Free Mobile 官网中“Ma eSIM”界面,扫描新二维码即可。
  • 爱尔兰 Vodafone eSIM:原设备联网并删除后,新设备扫描原二维码即可。
  • 荷兰 Simyo eSIM:在 Mijn Simyo App 内点击 Instellingen → Simkaart → Ga verder met validatie,即可进行更换。
  • 乌克兰 Lifecell eSIM:原设备联网并删除后,新设备扫描原二维码即可。
  • 芬兰 Elisa eSIM:原设备联网并删除后,新设备扫描原二维码即可。
  • 拉脱维亚 Zelta Zivtina eSIM:在 App 内选择重新换卡即可,每次需要支付 3 EUR。
  • 波兰 Orange Flex eSIM:在 App 内选择重新换卡即可。
  • 瑞士 Yallo eSIM:在 Yallo App 内点击右下角 Settings → eSIM swap,即可进行更换。
  • 德国 Telekom eSIM:在 App 内点击 SIM tauschen → eSIM Geratewechsel,即可进行更换。iPhone 支持 eSIM Quick Transfer,选择“添加 eSIM → 从附近 iPhone 转移”即可操作成功。
  • 摩尔多瓦 Moldtelecom eSIM:在 Moldtelecom App 内点击 My Account → More → eSIM → Active new eSIM,即可进行更换。
  • 奥地利 Educom eSIM:原设备联网并删除后,新设备扫描原二维码即可。
  • 意大利 Spusu eSIM:原设备联网并删除后,新设备扫描原二维码即可。

美国地区

  • T-Mobile eSIM:安卓设备需要拨打客服电话 +1-877-778-2106,提供手机号码及账户 PIN 码以获取新的二维码;iPhone 支持 eSIM Quick Transfer,选择“添加 eSIM → 从附近 iPhone 转移”即可操作成功。
  • RedPocket eSIM:在 App 内购买新的 eSIM 空卡,即可操作更换;如无空卡购买,则需要联系客服获取。
  • Ultra Mobile eSIM:在 App 内点击 Order Replacement SIM → Get an eSIM,即可进行更换。
  • US Mobile eSIM:在 App 内联系客服重新获取新的二维码。
  • Tello eSIM:访问 https://tello.com/account/my_sim,登录后重新获取新的二维码。
  • Google Fi eSIM:原设备联网并删除后,新设备扫描原二维码即可。
  • Fonus eSIM:联系客服并付费更换。
  • Helium Mobile eSIM:联系客服并更换。
  • 1Psim eSIM:登录官网,进入“个人中心 → SIM”进行更换设备。

其他地区

  • 新西兰 One.nz eSIM:原设备联网并删除后,新设备扫描原二维码即可。
  • 澳大利亚 Felix eSIM:在 App 内点击 Settings → Replace or swap your SIM,即可进行更换。
  • 澳大利亚 Telstra eSIM:原文未补充具体方法。
  • 澳大利亚 AmaySIM eSIM:在 AmaySIM App 内点击 Replace SIM → I want a replacement eSIM,即可进行更换。
  • 澳大利亚 Optus eSIM:线下门店申请新的二维码。
  • 尼日利亚 Airtel eSIM:原设备联网并删除后,新设备扫描原二维码即可。
  • 摩洛哥 Orange eSIM:原设备联网并删除后,新设备扫描原二维码即可。
  • 伯利兹 Smart eSIM:原设备联网并删除后,新设备扫描原二维码即可。
  • 尼日利亚 MTN eSIM:原设备联网并删除后,新设备扫描原二维码即可。
  • 新西兰 Spark eSIM:原设备联网并删除后,新设备扫描原二维码即可。

IX 是什么?一篇简单科普

看到论坛里很多人对 IX 有点似懂非懂,就简单写一篇给大家科普一下。

IX 本质上就是互联网交换中心(Internet Exchange)。这个概念在国外已经发展很多年了,主要用于不同 ASN 之间交换流量。比如我用腾讯云香港测试到 DMIT 香港和到香港大学两个网络:

腾讯云香港到 DMIT 香港的路由追踪

腾讯云香港到香港大学的路由追踪

从上面两张图可以看出,路径分别经过了 Equinix IX 和 HKIX。其中 Equinix IX 又称 EIE,这是一个全球大型数据中心,很多商家的机器都托管在这个机房里,同时它也提供自己的互联网交换平台 Equinix Internet Exchange(EIE)。路由说明腾讯云香港到这两个网络之间,是分别通过 EIE 和 HKIX 互联的。也就是说,它们两者如果接了 IX,且建立了 BGP Peering,通常会优先通过 IX 交换流量。

接入 IX 有什么用?

如果不接 IX,同时也没有建立私有互联的话,它们之间就会通过 T1 运营商的 IP Transit 传输数据。公网传输费用比 IX 之间的费用高得多,通过 IX 可以大大减少彼此之间的带宽费用。

为什么最近 IX 在中国也火起来了?

因为中国也建设了几个 IX,比如很有名的前海 IX,也就是 CNIX,还有上海的 SHIXP。原理其实和国外一样,如果不同的 ASN 接入后,是可以通过它来交换流量的。

但中国的网络情况又很特殊,大部分网络都掌握在三家运营商手里,在中国拥有独立 ASN 并进行 BGP 互联的网络其实很少,著名的就是那几家大厂,比如阿里、腾讯、华为等,它们是可以加入 IX 的。比如我用腾讯上海测试到阿里上海,路由追踪如下:

腾讯上海到阿里上海的路由追踪

可以看到它们之间是通过 SHIXP 交换的。它们这样做的主要目的,还是为了降低带宽传输费用,因为中国的公网带宽实在太贵了。现在国内运营商的 1G 上行带宽价格,大概在 6000 元/月左右。

为什么 CNIX 会和专线联系上?为什么能跨境?

原因其实很简单:跨境传输线路是商家自己购买的。不同商家购买的跨境专线也可能完全不同,市面上有很多公司专门做这块业务,运营商自己也有相关服务。

那这个专线费用是不是很贵?其实不然。跨境传输这一段的费用其实没有特别贵,真正贵的是国内公网传输,比如你会看到深圳电信入口、广州联通入口。

商家还需要单独购买一台国内机器,并购买国内运营商带宽给用户使用,然后再通过他们自己的跨境传输到香港出口。最贵的部分,其实是国内带宽。

于是他们就想了个办法:通过接入 IX 的方式,让用户通过阿里、腾讯等机器的网络接入他们的入口,而他们的入口再接入 IX。这样一来,就大大节省了入口的传输费用,所以才会有现在各种 IX 专线产品。这也是目前各种 IX 专线产品的基本原理。

常见问题

IX 是不是就等于专线?

不是。IX 只是一个互联网交换平台,本身并不提供跨境线路。所谓的 IX 专线,本质上还是商家自己购买的跨境线路,只是入口通过 IX 来交换流量。

接入 IX 就一定更快吗?

不一定。IX 只是提供一个互联点,具体速度还取决于双方网络质量、带宽大小以及策略,对方也可能进行限速。

为什么有的 IX 线路会突然不通?

因为 IX 内部的路由策略可能随时调整,或者对方网络不再接受 IX 的流量,这种情况在实际运营中是可能发生的。

为什么运营商自己不选择接入 IX?

因为运营商主要是靠卖 IP Transit(公网带宽)赚钱。他们当然也可以接入,但如果大量流量通过 IX 直接交换,它们的 Transit 收入就会减少,所以一般情况下不会主动这样做。

是不是所有 IX 产品质量都一样?

不是。虽然都叫 IX,但跨境线路、入口带宽、是否超售等,都是商家自己决定的,所以不同商家的实际体验可能差别很大。

Cloudflare SaaS (Custom Hostnames) 优选 IP 进阶指南:告别减速器

0. 为什么要做 SaaS 回源?

直接开启 Cloudflare (CF) 的“小黄云”在国内往往是“减速器”。

  • 痛点:默认 Anycast 节点在国内访问极慢,且 SSL 证书扫描容易泄露原始 IP。
  • 方案:利用 CF SaaS 功能,将网站域名接入 CF 内部网络,手动指定国内走“优选高速节点”,国外走“官方默认节点”。

1. 准备工作

  1. 回源域名:需 NS 接入 CF(如 fallback.net)。
  2. 网站域名:你的主站域名,解析在非 CF 平台(如 DNSPod、阿里云),以便进行国内/国外分线解析。
  3. 账户要求:CF 账户需绑定 PayPal 或外币卡以开启 SaaS 功能(免费额度 100 个域名,完全够用)。

2. 配置回退源 (Fallback Origin)

回退源是所有自定义主机名的“中转站”。

  1. 解析回源域名:在 CF 的 fallback.net 中添加一跳 A 记录(如 origin.fallback.net),指向你的真实服务器 IP,并开启小黄云 ☁️。
  2. 设置回退源
    • 进入 CF 仪表板 -> SSL/TLS -> 自定义主机名 (Custom Hostnames)
    • 点击 添加回退源,填入 origin.fallback.net
    • 状态显示为 有效 (Active) 即可。

3. 添加自定义主机名(网站接入)

将真正的网站域名(如 www.example.com)对接到 CF 链路中。

  1. 在同一页面点击 添加自定义主机名,输入你的网站域名。
  2. 验证所有权 (DCV)
    • CF 会提供两条 TXT 记录(证书验证和所有权验证)。
    • 注意:去你网站域名的 DNS 后台添加。如果主机名是 www,TXT 名称应填 _acme-challenge.www(删掉后面重复的主域名部分)。
  3. 激活技巧:验证时,先暂时将 www.example.com 的 CNAME 指向回退源 origin.fallback.net,用 ITDOG 跑一下测速,CF 感知到流量后会秒过验证。

4. 核心步骤:分线解析与优选入口

验证状态变为 Active 后,开始配置分线解析。

推荐优选 CNAME 列表 (2026 持续更新)

类型 推荐域名 说明
综合优选 yx.887141.xyz 目前国内兼容性较好
官方/商业 csgo.com / shopify.com 走 CF 官方高级 ASN 线路
政府/机构 visa.cn / fbi.gov 适合特定地区的绕路优化

DNS 解析配置建议

线路 记录类型 记录值 备注
国内 (移动/联通/电信) CNAME yx.887141.xyz 强制走优选高速节点
境外 (默认) CNAME origin.fallback.net 走官方节点,确保全球可达
搜索引擎 (蜘蛛) A 记录 你的源站 IP 防劫持:避免公共优选劫持权重

5. 常见问题排查 (Troubleshooting)

  1. 重定向次数过多 (301/302)
    • 检查 CF 的 SSL 模式。如果源站配置了证书,CF 端必须设置为 “完全 (Full)”“完全 (严格)”
  2. SSL 证书无效
    • 即使使用了 SaaS 回源,你的**源站(宝塔/Nginx/NPM)**也必须配置对应域名的 SSL 证书,否则回源握手会失败。
  3. 安全性建议
    • 建议在 DNS 服务商处单独为“搜索引擎”线路解析到源站,防止公共优选域名失效或恶意劫持蜘蛛流量。

6. 结果测试

使用 ITDOG 进行全网 Ping 或 HTTP 测速:

  • 观察国内节点的响应 IP 是否为优选域名的 IP。
  • 检查 ip.skk.moe 确认当前流量是否经过 CF 边缘节点。