有时候需要查看服务器的系统信息,比如查看下内存占用,磁盘占用,或者网络带宽占用等等的,如果是windows的服务器,那就简单了,但是linux服务器就让很多同学懵逼了,因为linux全是命令行的操作。下面将说一些常用的linux查看系统性能的命令。我的服务器是centos 6.5的系统。
1:查看系统版本:cat /etc/issue
2:Vmstat
10.queryinformationjobobject除了查看作业限制外,也可以查看作业信息,包括总进程数、活跃进程数、总时间、总io次数、进程id列表等。理解:进程是一个可执行程序,由私有虚拟地址空间、代码、数据和其它操作系统资源组成,一个应用程序可以有一个或多个进程,一个进程 可以有一个多个线程,其中一个是主线程。 p – 以 cpu 占用率大小的顺序排列进程列表 m – 以内存占用率大小的顺序排列进程列表 在系统维护的过程中,随时可能有需要查看 cpu 使用率,并根据相应信息分析系统状况的需要。
Procs中b列表示当前等待资源的进程数,包括等待I/O,内存等。
Swpd列表示切换到内存交换区的KB数,一般si,so为0的话基本不影响系统的性能。
Cache是page cache的内存数量,Linux会把空闲的物理内存的一部分拿来做文件和目录的缓存,以便提高程序执行的性能。如果cache的值较大的话linux命令大全,说明缓存了太多的文件,如果bi值小的话,说明文件系统效率比较高。
iops:刚才提到数据从磁盘读取到内存,或者数据从内存写到磁盘都需要消耗io,而磁盘的io能力是有一定,比如新1型提供的iops为150个,也就是每秒能够提供150次的随机磁盘io操作,所以如果用户的数据量很大,内存很小,而写入,更新,删除,查询的压力很大,由于iops的限制,对于数据库来说就是一条sql需要执行很长的时间才能返回结果,对于应用来说就会造成整体响应的变慢。第二部分使用getprocessmemoryinfo,可见进程占用主存(物理存储器)1.6m,虚拟存储器中有425k在pagefile中(包括第一部分中全部的private和部分的image、mapped),也说明进程使用的5.8m内存中有5.4m是共享的(5.8-425)。通过虚拟内存,每个进程都以为自己拥有整个地址空间的独家访问权,所有进程共享机器的物理内存,当内存用完时就用磁盘保存数据,在进程运行时,数据在磁盘和内存之间来回移动,内存管理单元mmu负责把虚拟地址翻译为物理地址,并让一个进程始终运行于系统的真正内存中。
即便有足够的内存,多数数据库服务器依然需要大量的磁盘i/o将数据读入内存和更新磁盘数据。由于各个厂商的实例规格有细微差距,我们选用数据库内存6g-12g的中等规格的实例(12g以上,对性能要求更高企业选用,相比较价格也比较昂贵),磁盘选用普通云磁盘250g来做计算,表结构100张,数据量:100张*1000万条数据(表的数据量会影响到数据库性能,所以尽可能压多一些数据),总数据量size在240g左右,该数据规模能覆盖很大一部分企业的使用场景。raid1 raid1成为镜像(mirror),它将数据完全一致的分别写到工作磁盘和镜像磁盘,因此它的磁盘空间利用率为50%,在数据写入时时间会有影响,但是读的时候没有任何影响,raid0提供了最佳的数据保护,一旦工作磁盘发生故障,系统自动从镜像磁盘读取数据,不会影响用户工作。
In和cs是每秒钟的设备中断数以及上下文切换数。它们很大的话,表面内核消耗的CPU时间较多。
3:top
Top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态。它可以按照系统中当前进程的CPU利用率以及占用的内存大小进行排序,可以比较快速定位出系统响应迟钝的原因。如果在前台执行该命令,它将独占前台linux命令大全,直到用户终止该程序为止。top是一个显示数据较多的工具,第一行显示的是系统的开机运行时间,机器的CPU负载信息;第二行显示当前系统任务的总数,以及各个状态的进程数;第三行显示的是CPU资源的使用情况总览;第四行显示内存的使用情况总览;第五行显示的是内存交换区的使用情况总览;后面开始是每个进程对资源使用的情况。