Linux系统负载、内存使用情况查看

来源:互联网 发布:淘宝开店还能赚钱吗 编辑:程序博客网 时间:2024/05/21 13:53
下面的命令用来查看系统正在运行的东西。
# top # 显示当前CPU处理的信息
# mpstat 1 # 显示处理器相关的静态信息
# vmstat 2 # 显示虚拟内存状态
# iostat 2 # 显示I/O 信息
# systat -vmstat 1 # BSD:汇总信息状态信息
# systat -tcp 1 # BSD:显示TCP状态
# systat -netstat 1 # BSD:活动的网络连接
# systat -ifstat 1 # BSD:网络流量状态
# systat -iostat 1 # BSD:CPU和硬盘的吞吐
# tail -n 500 /var/log/messages # 最后500条内核、系统消息
# tail /var/log/warn # 系统的警告信息
相应的命令在sysstat软件包中。

linux下查看内存命令free。但是,linux内存的实际使用,和输出的字面意思还是有些差别,linux真正可用的内存不是free项直接看到的。如下:

[root@dbrg-1 ~]# free
           total       used     free          shared          buffers     cached
Mem:        319844      83632     236212          0                  19128      46116
-/+ buffers/cache:      18388     301456
Swap:      2096472          0    2096472

total 内存总数

used 已经使用的内存数

free 空闲的内存数

shared 多个进程共享的内存总额

buffers Buffer Cache和cached Page Cache 磁盘缓存的大小

Swap 虚拟内存

【注】红色行和蓝色行的used/free意义是不同的。红色行是从系统的角度来看,buffers/cached 都是属于被使用,蓝色行是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。

对于Mem行:total = used + free ((319844 = 83632 + 236212 )

对于-/+ buffers/cache行:

                          total used + free (319844 = 18388 + 301456)

                          used used + buffers  + cached (83632 = 18388 + 19128 + 46116 )

转:

为了提高磁盘存取效率, Linux做了一些精心的设计, 除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换), 还采取了两种主要Cache方式:Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache有效缩短了 I/O系统调用(比如read,write,getdents)的时间。

原创粉丝点击