Каталог артыкулаў
前段时间,我在某个群里看到有人在甩9块9一年的VPS,年付,标着2核4G,价格比那些大厂便宜了快十倍。
我脑子一热就下单了。
不是哥们,你敢信,这玩意儿开机之后,我敲个命令都要等上两秒,ssh连上去,光标愣是转了半天才吐出提示符。
Я быў ашаломлены.
这配置不对啊,2核4G再怎么拉胯,也不至于卡成这样。
我就琢磨,这机器怕不是被超卖了。
去搜了一圈,还真有这说法,VPS商家为了把一台物理服务器的成本摊薄,会在同一台宿主机上开几十台甚至上百台虚拟机,大家共用底下的CPU内存和硬盘。
你标的是独享2核,实际能抢到多少,全看同一台机器上的邻居们厉不厉害。
那问题就来了,我这台机器上,到底挤了多少人,我能不能查出来?
现在这篇文章,我就把这事儿掰开了聊。
先把最扎心的一个前提说清楚,因为太多人栽在这个认知坑里。
一个必须先搞懂的前提
VPS,Virtual Private Server,虚拟专用服务器,现在主流都是KVM全虚拟化。
其实就是你在别人的一台大服务器上,分到的一块隔间。
你能查的,是你这个隔间里,此刻有几个人登录在用。
你查不到的,是底下那台物理宿主机上,商家到底开了多少台VPS,也就是其他租户。
为啥查不到?虚拟化隔离啊。
虚拟机跟虚拟机之间,老死不相往来,你待在自己这台虚拟机里,既看不到隔壁的虚拟机,更看不到宿主机长啥样,只有服务商后台能看全貌。
所以你能查的,顶多是你这台机器的同屋室友,而宿主机上还有多少台别家的机器,你只能靠一些蛛丝马迹去间接猜。
记住这一句,后面全靠它拎着。
同一台VPS内部能数人,物理宿主机上多少台VPS你数不准。
很多人买这种机器,我脑子里立马能浮现一个人。
四五线小城刚毕业的小伙,兜里没几个钱,想自己搭个博客,或者挂个小脚本,看到9块9眼睛都亮了。
他不知道什么叫超售,只知道便宜。
等卡了,他只会骂机器辣鸡,不会想到是隔壁上百号人在跟他抢同一个CPU。
Linux 上怎么查(SSH 登录)
先说最常见的Linux,你SSH登进去之后。
第一个命令,敲w,回车。
它会把当前所有在线登录的用户列出来,用户名、从哪个IP连过来的、几点登的、现在在跑什么命令,全有。
重点盯FROM那栏的IP地址。
同一个账号你多开几个SSH窗口,会显示好几条记录,那不算好几个人,得看IP是不是不一样,不同IP才是不同使用者。
想要更精简的,用who,只甩你账号加来源IP,干干净净。
嫌手动数麻烦,直接上一键命令,统计独立IP的数量。
w | awk 'NR>2 {print $3}' | sort -u | wc -l这一行挺骚的,它会把所有来源IP抽出来去重,最后给你一个数字,就是此刻有多少不同IP在连这台机器。
数字越大,同屋的人越多。
想看历史都谁上来过,last,登录登出的记录全给你翻出来,连几点下的线都有。
还有一手,cat /etc/passwd,能看到系统里建了哪些本地账号。
不过那是全部账号,不一定都在线,只能当个参考,别拿它当人数。
Windows 上怎么查(远程桌面)
再说Windows的VPS,远程桌面连上去,开个CMD。
敲quser,或者query user,它列出所有RDP会话,谁登录的、会话状态是断开还是活跃、登了多久,一清二楚。
quser不想敲命令也行,任务管理器切到用户那个标签页,图形界面,谁在线一览无余。
Windows这块比Linux省心,命令就一个,图形也现成。
宿主机有没有超售,靠这几个征兆猜
前面这些,查的都是同一台VPS里面有几个人。
但我说了,那其实不是最关键的,最要命的是,底下宿主机上,商家是不是超开了好多台VPS在跟你抢资源。
这个没法直接数,只能看征兆。
Linux里有个特别直白的指标,叫CPU窃取时间,也就是top命令里那个%st。
你敲top,看CPU那一行,末尾有个st。
st≈0,说明基本没邻居来抢你的CPU,你独享得挺舒服。
要是st长期大于5%,那宿主机上八成蹲着别家VPS在疯吃CPU,你的算力被偷走了,还一声不吭。
top嫌看一眼不保险,vmstat 1,盯着st那一列持续观察,邻居一动手你马上能看见。
vmstat 1VPS虽然标了资源配额,但有些商家超售,宿主机上挂了一堆别家机器,资源一紧,你这边就开始卡。
st就是那个最诚实的告密者。

内存和磁盘,也能看出超售的猫腻
说到资源,还有两个地方最容易藏猫腻,内存和磁盘。
先泼盆冷水,虚拟机里面你读不到宿主机真实的剩余内存和硬盘,只能在自己这台机器上做核验,再加间接推断。
商家超售是在宿主机层面干的,你这台里面能确认的,只有分配给你的配额有没有缩水,再结合现象判断有没有人跟你抢。
内存先对个数。
free -h,看total那一行,跟商家标的对比,数字明显偏小,就是配额缩水了,标4G只给你2G,这种坑真有人踩。
free -h然后盯争抢。
低负载的时候,vmstat 1,重点看si和so两列,si是换入,so是换出。
你业务明明没啥压力,si和so却一直大于0,那大概率是宿主机内存吃紧,商家超售了,系统被迫把你的内存往磁盘上swap,机器自然卡成PPT。
注意啊,正常业务压力下用点swap不稀奇,低负载还频繁swap,才是真有问题。
磁盘也一样。
df -h,看根分区/的Size,跟标的比,差太多就是配额不足。
df -hIO争抢更好认,iostat -x 1,盯await和%util。
你自己几乎没读写,await却一直大于20毫秒,或者%util长期贴着100%,那极有可能宿主机上别家VPS在猛读猛写,把你磁盘IO抢了,这就是典型的磁盘超售争抢。
iostat -x 1一句话记住
所以一句话分清楚。
同VPS里面多人共享登录,Linux看w,Windows看quser,数不同来源IP就是独立人数。
物理服务器上开了多少台VPS,你这台机器里永远查不到准数,只能靠st、swap、await这些征兆,去猜个大概。
回到开头那台9块9的机器。
我后来top一看,st常年在8%上下晃,vmstat里si也偶尔蹦出来。
得,合着我不是一个人住,是跟几十号邻居合租,还天天抢不到卫生间。
这事儿其实跟航班超售一个道理。
航空公司卖票永远多卖两成,赌的是总有人误机不来。
VPS商家超售,赌的是总有人买了不用或者只用一点点,大家峰值错开就相安无事。
赌赢了你没感觉,赌输了,就是你半夜跑脚本卡到怀疑人生。
天下没有免费的便宜,9块9的年付背后,是有人替你扛了这份拥挤。
以后买VPS,别光看标价和配置单。
开机先敲几行命令,看看自己到底住在几人间。
住得挤不挤,比你以为的更影响体验。
信息差这东西,知道一下,总没坏处。
Калі вы дачыталі да гэтага месца, пастаўце лайк і падзяліцеся гэтым артыкулам, калі ласка. Калі вы хочаце атрымліваць абнаўленні першымі, вы таксама можаце падпісацца на мяне! ⭐
Дзякуй, што прачыталі мой артыкул. Да сустрэчы ў наступны раз.
Блог Hope Chen Weiliang ( https://www.chenweiliang.com/ ) 分享的《买到坑爹超卖 VPS?3分钟查出同一台服务器到底挤了多少个用户!》,对您有帮助。
Не саромейцеся падзяліцца спасылкай на гэты артыкул: https://www.chenweiliang.com/cwl-34575.html
