linux下查看内存使用情况
基本内存术语解读
1> free -m
同样是做为缓存,buffers和cache又有啥区别呢?
于是又查了些资料,发现buffers实际应该是叫“缓冲”,其英文解释是:A buffer is something that has yet to be "written" to disk.
就是说,buffers是将要写入硬盘中的数据缓存。
而cache的英文解释:A cache is something that has been "read" from the disk and stored for later use.
就是说,cache是从硬盘或者存储设备读进计算机后缓存在内存中的数据。
想起看《计算机组成原理》的时候,有看到因特尔的cpu与内存之间有cache,这之间好像有什么区别的样子。
继续查资料,发现了page cache 和 buffer cache。简单说来,page cache用来缓存文件数据,buffer cache用来缓存磁盘数据。在有文件系统的情况下,对文件操作,那么数据会缓存到page cache,如果直接采用dd等工具对磁盘进行读写,那么数据会缓存到buffer cache。
对于cache和buffer,cached是cpu与内存间的,buffer是内存与磁盘间的,都是为了解决速度不对等的问题。
在free中,buffer 是buffer cache的内存,是块设备的读写缓冲区;cache是page cache的内存, 文件系统的cache。
关于buffer与chche,这里就不多说了,最后的链接5里讲得挺清楚了。
这里还有一个名词,Swap,即虚拟内存。当物理内存不够用的时候,就要释放掉一部分空间,以供当前运行程序使用。这些被释放掉的内存的数据就被临时保存在虚拟内存中。但是,并非所有的数据都全被保存,只有那些使用malloc或new生成的对象,他们在文件中并没有相应的“储备”文件,被称为匿名内存数据,需要临时地存进Swap。故Swap又称匿名数据交换空间。在链接3中有其说明。
2> top
动态查看系统的资源使用情况

3> vmstat - Report virtual memory statistics
查看虚拟内存使用情况

参数解读:
| r | The number of processes waiting for run time. | 处于运行队列中的内核线程数目(进程数)。 |
| b | The number of processes in uninterruptible sleep. | 置于等待队列(等待资源、等待输入/输出)的内核线程数目。 处于block队列中不可中断的进程数 |
| swpd | the amount of virtual memory used. | 可用的虚拟交换内存 |
| free | the amount of idle memory. | 空闲内存 |
| buff | the amount of memory used as buffers. | 已用缓冲数目 |
| cache | the amount of memory used as cache. | 已用缓存数目 |
| si | Amount of memory swapped in from disk (/s). | ���磁盘到内存的交换页数目 (单位/S) |
| so | Amount of memory swapped to disk (/s). | 从交换内存到磁盘的交换页数目(单位/S) |
| bi | Blocks received from a block device (blocks/s). | 接收到块设备的块数(块/秒) |
| bo | Blocks sent to a block device (blocks/s). | 发送到块设备的块数(块/秒) |
| in | The number of interrupts per second, including the clock. | 每秒中断数,包括时钟中断 |
| cs | The number of context switches per second. | 每秒上下文切换数 |
| us | Time spent running non-kernel code. (user time, including nice time) | 用户时间,处于用户模式的时间百分比 |
| sy | Time spent running kernel code. (system time) | 系统时间,处于内核模式的时间百分比 |
| id | Time spent idle. Prior to Linux 2.5.41, this includes IO-wait time. | CPU空闲时间,空闲时间百分比 |
| wa | Time spent waiting for IO. Prior to Linux 2.5.41, included in idle. | CPU 空闲时间,在此期间系统有未完成的磁盘/NFS I/O 请求 |
| wt | Time stolen from a virtual machine. Prior to Linux 2.6.11, unknown. |
linux下查看内存使用情况的更多相关文章
- Linux下查看内存使用情况方法总结
Linux查看CPU和内存使用情况:http://www.cnblogs.com/xd502djj/archive/2011/03/01/1968041.html 在做Linux系统优化的时候,物理内 ...
- Linux 下查看内存使用情况方法总结
Linux查看CPU和内存使用情况:http://www.cnblogs.com/xd502djj/archive/2011/03/01/1968041.html 在做Linux系统优化的时候,物理内 ...
- [转载] Linux下查看内存使用情况方法总结
原文: http://9iphp.com/linux/1247.html 强烈推荐 htop.
- linux下查看内存的命令
top能显示系统内存.我们常用的Linux下查看内容的专用工具是free命令. 下面是对内存查看free命令输出内容的解释: total:总计物理内存的大小. used:已使用多大. free:可用有 ...
- 萌新笔记——linux下查看内存的使用情况
windows上有各种软件可以进行"一键加速"之类的操作,释放掉一些内存(虽然我暂时不知道是怎么办到的,有待后续学习).而任务管理器也可以很方便地查看各进程使用的内存情况,如下图: ...
- linux下查看内存的使用情况
windows上有各种软件可以进行“一键加速”之类的操作,释放掉一些内存(虽然我暂时不知道是怎么办到的,有待后续学习).而任务管理器也可以很方便地查看各进程使用的内存情况,如下图: 同样地,linux ...
- linux下查看内存频率,内核函数,cpu频率
查看CPU: cat /proc/cpuinfo # 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 # 查看物理 ...
- linux下查看资源使用情况
//查看占用内存最多的前K的程序ps aux | sort -k4nr | head -K //查看占用CPU最多的前K的程序 ps aux | sort -k3nr | head -K
- linux下查看端口占用情况以及服务启动的目录
1.先介绍几个命令: 1. lsof -i:80 查看80端口的占用情况 命令返回结果: COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME ngin ...
随机推荐
- zabbix 监控端口
监控HTTPD端口的shell #!/bin/bash #2019年4月19日18:: ####### httpd=` netstat -tnlp|grep httpd|awk '{print $4} ...
- python小数据池概念以及具体范围
= 赋值符号: == 比较值是否相等: is 比较,比较的是内存地址 ID(内容) 数字,字符串的小数据池 小数据池现象产生的原因,作用: 为了节省内存空间. &l ...
- vue watch详细用法
在vue中,使用watch来响应数据的变化.watch的用法大致有三种.下面代码是watch的一种简单的用法 html: <input type="text" v-model ...
- The APK failed to install. Error:Could not parse error string.
问题一: The APK failed to install. Error:Could not parse error string. 今天拖拽自己的apk到模拟器上运行,报上述错误. 搜索解决方案. ...
- js中基本事件的总结,onclick、onblur、onchange等
js中的基本事件总结: 特定的场景下发生的一个动作:事件:事件=函数(),事件发生会触发函数执行. 属性 当以下情况发生时,出现此事件 FF N IE onabort 图像加载被中断 1 3 4 on ...
- Velocity Obstacle
[Velocity Obstacle] Two circular objects A,B, at time t(0), with velocity V(A),V(B). A represent the ...
- Loading Assets from AssetBundles
[Loading Assets from AssetBundles] 1.LoadAsset GameObject gameObject = loadedAssetBundle.LoadAsset&l ...
- asp.net MVC 异常处理
http://www.cnblogs.com/think8848/archive/2011/03/18/1987849.html http://www.cnblogs.com/snowdream/ar ...
- sqlserver 查看当前连接数
参考 https://www.cnblogs.com/lumnm/archive/2009/08/29/1556349.html SELECT * FROM[Master].[dbo].[SYSPRO ...
- jdbctemplate 批量插入
public void batchImport(List<Map<String, Object>> list) { String sql = "insert into ...