cpu
一般查看top 看其1分钟,5分钟.15分钟的负载情况,若5分钟和15分钟的值超过了cpu个数的两倍,则一般需要优化。若低于cpu个数,则说明系统运行正常。若长期低于1,则表示系统处于空闲状态。
vmstat 命令也可以查看 进程,内存,swap,磁盘io,cpu使用等。
cpu显示了用户进程和内核进程所消耗的cpu时间百分比,us较高说明用户进程消耗的cpu时间多,us+sy产考值一般为80%,若长期大于80%则表示cpu不足。swpd 表示交换分区使用,一般si、so的值为0,若两个值长期不为0则表示系统内存不足,需要增加系统内存。io表示磁盘读写,bi+bo产考值为1000,若大于1000则wa值较大,表示系统磁盘io有问题。system项显示采集间隔内发生的中断数,in和cs这两个值越大,会看到由内核消耗的cpu时间会越多。
内存
top命令进行查看
mem 表示内存 依次为总内存 空闲内存 已使用的 用于缓存文件系统的内存
swap 表示交换 总大小 空闲的交换分区 使用的交换分区 可用的交换分区
vmstat 命令查看
内存的监控
free 命令
total:物理内存的总大小。
used:已经使用的物理内存多小。
free:空闲的物理内存值。
shared:多个进程共享的内存值。
buffers/cached:磁盘缓存的大小。
第二行Mem:代表物理内存使用情况。
第三行(-/+ buffers/cached):代表磁盘缓存使用状态。
第四行:Swap表示交换空间内存使用状态。
free命令输出的内存状态,可以通过两个角度来查看:一个是从内核的角度来看,一个是从应用层的角度来看的。
1.从内核的角度来查看内存的状态
若简单的从free 去看系统剩余空间的话-----内核完全控制着内存的使用情况,linux会在需要内存的时候,或在系统运行逐步推进时,将buffers和cached状态的内存变为free状态的内存,以供系统使用。
2.从应用层的角度来看系统内存的使用状态
也就是linux上运行的应用程序可以使用的内存大小,应用程序可用的物理内存值是Mem项的free值加上buffers和cached值之和,也就是说,这个free值是包括buffers和cached项大小的。对于应用程序来说,buffers/cached占有的内存是可用的,因为buffers/cached是为了提高文件读取的性能,当应用程序需要用到内存的时候,buffers/cached会很快地被回收,以供应用程序使用。
buffers与cached都是内存操作,用来保存系统曾经打开过的文件以及文件属性信息,这样当操作系统需要读取某些文件时,会首先在buffers与cached内存区查找,如果找到,直接读出传送给应用程序,如果没有找到需要数据,才从磁盘读取,这就是操作系统的缓存机制,通过缓存,大大提高了操作系统的性能。但buffers与cached缓冲的内容却是不同的。
buffers是用来缓冲块设备做的,它只记录文件系统的元数据(metadata)以及 tracking in-flight pages,而cached是用来给文件做缓冲。更通俗一点说:buffers主要用来存放目录里面有什么内容,文件的属性以及权限等等。而cached直接用来记忆我们打开过的文件和程序。
硬盘IO
IOStat 命令查看
tps表示每秒钟发送的I/O 请求数,kB_read/s 表示每秒读取的数据块,kB_wrtn/s 表示每秒写入的数据块,kB_read 表示读取的所有数据块,kb_wrtn表示写入的所有数据块.