Linux 服务器性能出问题,排查下这些参数指标

Linux 服务器性能出问题,排查下这些参数指标,第1张

11 top

12 vmstat

r 表示可运行进程数目,数据大致相符;而b表示的是 uninterruptible 睡眠的进程数目;swpd 表示使用到的虚拟内存数量,跟 top-Swap-used 的数值是一个含义,而如手册所说,通常情况下 buffers 数目要比 cached Mem 小的多,buffers 一般20M这么个数量级;io 域的 bi、bo 表明每秒钟向磁盘接收和发送的块数目(blocks/s);system 域的 in 表明每秒钟的系统中断数(包括时钟中断),cs表明因为进程切换导致上下文切换的数目。

说到这里,想到以前很多人纠结编译 linux kernel 的时候 -j 参数究竟是 CPU Core 还是 CPU Core+1?通过上面修改 -j 参数值编译 boost 和 linux kernel 的同时开启 vmstat 监控,发现两种情况下 context switch 基本没有变化,且也只有显著增加 -j 值后 context switch 才会有显著的增加,看来不必过于纠结这个参数了,虽然具体编译时间长度我还没有测试。资料说如果不是在系统启动或者 benchmark 的状态,参数 context switch>100000 程序肯定有问题。

13 pidstat

如果想对某个进程进行全面具体的追踪,没有什么比 pidstat 更合适的了——栈空间、缺页情况、主被动切换等信息尽收眼底。这个命令最有用的参数是-t,可以将进程中各个线程的详细信息罗列出来。

-r: 显示缺页错误和内存使用状况,缺页错误是程序需要访问映射在虚拟内存空间中但是还尚未被加载到物理内存中的一个分页,缺页错误两个主要类型是

-s:栈使用状况,包括 StkSize 为线程保留的栈空间,以及 StkRef 实际使用的栈空间。使用ulimit -s发现CentOS 6x上面默认栈空间是10240K,而 CentOS 7x、Ubuntu系列默认栈空间大小为8196K

14 其他

while :; do ps -eo user,pid,ni,pri,pcpu,psr,comm | grep 'ailawd'; sleep 1; done

21 iostat

31 netstat

➜ ~ netstat -antp #列出所有TCP的连接

➜ ~ netstat -nltp #列出本地所有TCP侦听套接字,不要加-a参数

32 sar

33 tcpdump

Linux是 *** 作系统,是服务器 *** 作系统,服务器即提供服务的机器是硬件,软件与硬件结合才能提供网络服务,诸如LINUX下的:
dns
dhcp
ftp
mail
web
等等。
因此你的问题的答案应该是:安装了LINUX *** 作系统的提供网络服务的机器就是LINUX服务器

说到服务器系统的选型,Windows Server用户和Linux用户又会开启碾压模式,始终都觉得自己选择的系统优于其它系统。其实站在中立角度来说,存在即有价值,不管是Windows Server还是Linux,都有自身的优劣势,最终选择哪款系统还是要看项目实际情况而定。

1、Windows Server傻瓜式 *** 作,入门门槛低,安全性低

可以说99%的人选择Windows Server作为其服务器 *** 作系统是因为它的入门门监低,因为都是可视化窗口 *** 作,可以这样说,只要会基本的电脑 *** 作的用户花几天时间就能完全掌握Windows Server的管理和维护。

但不可否认的是Windows Server的安全性是比不上Linux类系统的,这里不需要多说什么,大家可以看看所有的杀毒软件都是针对Windows平台的,像Linux和macOS上的杀毒软件基本没有。

2、Linux安全性高,但门槛过高

Linux内核系统以安全据称,搞过软件开发的朋友都知道,在Linux平台上执行某些程序时经常会遇到权限不足的情况,这是因为Linux的权限设计得很严格,所以在 *** 作上就略显繁琐了。

另外,Linux类系统主打的是终端模式,而不是桌面版系统。所以很多用户在面对Liunx黑色的命令行模式时就显得力不从心,望而生畏。

现在的程序开发语言很多,基本上每种都可以去开发服务端程序,所以最终 游戏 服务器系统的选择要看这个服务端程序是用什么语言开发的。

对于Java、C/C++、PHP、Python、Nodejs等都是跨平台的,可以在Linux和Windows Server等系统上运行;但对于微软系的开发语言(如:VB、C#、NETCore)等也就只能在Windows Server上运行了。

那肯定是linux好。linux安全,高效。如果需要,甚至任何一台安卓手机,都可以做个可靠的linux微型服务器。

微软服务器,每个礼拜都要关机维护一次。不然磁盘碎片太多,后面会越来越慢。linux服务器不需要维护这个。因为linux服务器,没有磁盘碎片问题。

微软内核没有公布,里面含着各种秘密后门,比如安全局秘钥特种权限。整个微软服务器非常不安全。最多只能用在不需要保密的 娱乐 服务器上面。

其实,微软内核对美军情报部门是秘密公开的。任何一位美国安全局特工,都可以轻易的利用,微软特殊秘钥。获取,全球任何一台微软服务器的一切资料。

linux内核是公开的,所以服务器,自然没有看不见的后门。因此,无论是金融银行,还是需要保证技术安全的互联网巨头,以及先进技术需要保密的制造巨头企业,最后公文需要保密的公权力党政军机关单位。都会优先使用linux服务器。

做 游戏 ,如果服务器被黑了。最坏的可能,意味着破产,所以呢,还是必须老实的拥抱linux。
这个问题其实可以从两方面来考虑:

一、性能方面在专业人士经常使用来看区别不是很大,也不会说是存在碾压的情况。Linux中的线程切换速度比Win server快,但是安全性方面Win server比Linux要好一点,之所以这样说是Win 的易用性比较高,一般人士都会因为各种情况给Win防护墙开路。但是在小白手里经常出现的情况要是放到Linux上那就比较严重了。

二、其次就是经济上考虑的话Linux 免费 Win server 花钱(比较贵),但是Linux用起来比较复杂一点(要配合工作产出比来衡量)。

所以,选择他们其中一个都是可以的,主要是看你用哪个最方便适合,更专精于哪个。有句老话难者不会,会者不难。根源就在于人,系统都是面向全世界的存在即合理!选择看自己!
理由如下:

希望对你有帮助

游戏 服务器其实真的不复杂,主要是多简单指令,高并发,这恰恰是Linux的长处,然而既然性能要求不高,那么win其实完全也够用了,顺带还可以有更容易上手的交互界面和数据库支持。

所以,没有谁更好的说法,用谁都够用

小白用windows,大神用linux,相对来说linux更安全,同配置性能略优,windows *** 作方便,使用简单,运维更容易点!

用着好就行,实际上win应该更好些,毕竟有大公司更新维护。乱改的测试平台就是以个人喜好为主。

linux,稳定性好。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13478876.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-15
下一篇 2023-08-15

发表评论

登录后才能评论

评论列表(0条)

保存