服务器操作系统参数服务器操作系统一般有哪些


一个基于Linux操作系统的服务器运行的同时,也会表征出各种各样参数信息。通常来说运维人员、系统管理员会对这些数据会极为敏感,但是这些参数对于开发者来说也十分重要,尤其当你的程序非正常工作的时候,这些蛛丝马迹往往会帮助快速定位跟踪问题。这里只是一些简单的工具查看系统的相关参数,当然很多工具也是通过分析加工/proc、/sys下的数据来工作的,而那些更加细致、专业的性能监测和调优,可能还需要更加专业的工具(perf、systemtap等)和技术才能完成哦。毕竟来说,系统性能监控本身就是个大学问。

➜第一行后面的三个值是系统在之前1、5、15的平均负载,也可以看出系统负载是上升、平稳、下降的趋势,当这个值超过CPU可执行单元的数目,则表示CPU的性能已经饱和成为瓶颈了。

第二行统计了系统的任务状态信息。running很自然不必多说,包括正在CPU上运行的和将要被调度运行的;sleeping通常是等待事件(比如IO操作)完成的任务,细分可以包括interruptible和uninterruptible的类型;ped是一些被暂停的任务,通常发送SIGSTOP或者对一个前台任务操作Ctrl-Z可以将其暂停;zombie僵尸任务,虽然进程终止资源会被自动回收,但是含有退出任务的taskdescriptor需要父进程访问后才能释放,这种进程显示为defunct状态,无论是因为父进程提前退出还是未wait调用,出现这种进程都应该格外注意程序是否设计有误。第三行CPU占用率根据类型有以下几种情况:(us)user:CPU在低nice值(高优先级)用户态所占用的时间(nice0)。默认新启动的进程nice=
0,是不会计入这里的,除非手动通过renice或者setpriority()的方式修改程序的nice值(id)idle:CPU在空闲状态(执行kernelidlehandler)所占用的时间(wa)iowait:等待IO完成做占用的时间(hi)irq:系统处理硬件中断所消耗的时间(si)softirq:系统处理软中断所消耗的时间,记住软中断分为softirqs、tasklets(其实是前者的特例)、workqueues,不知道这里是统计的是哪些的时间,毕竟workqueues的执行已经不是中断上下文了(st)steal:在虚拟机情况下才有意义,因为虚拟机下CPU也是共享物理CPU的,所以这段时间表明虚拟机等待hypervisor调度CPU的时间,也意味着这段时间hypervisor将CPU调度给别的CPU执行,这个时段的CPU资源被”stolen”了。这个值在我KVM的VPS机器上是不为0的,但也只有0.1这个数量级,是不是可以用来判断VPS超售的情况?CPU占用率高很多情况下意味着一些东西,这也给服务器CPU使用率过高情况下指明了相应地排查思路:(a)当user占用率过高的时候,通常是某些个别的进程占用了大量的CPU,这时候很容易通