一.free
1.简介:显示系统空闲和已使用内存量
2.使用:
free -b/k 默认使用-k选项,以KB为单位显示内存使用情况
free -m 以MB为单位显示内存使用情况
free -g 以GB为单位显示内存使用情况
free -s delay(延时) 每隔多少秒连续显示内存使用情况
free -t 显示总量(Swap+Mem)
3.数据分析:
[root@huanxiangwu ~]# free -mt
total used free shared buffers cached
Mem: 249 203 46 0 11 113
-/+ buffers/cache: 78 171
Swap: 511 0 511
Total: 761 203 558
主要看第二行的数据,,其中171为应用程序实际能用的RAM大小,因为Linux会尽可能将未使用的RAM全部用于磁盘缓存,所以初看第一行空闲的RAM很少。
二.top
top – 23:42:48 up 23 min, 2 users, load average: 0.00, 0.00, 0.02
Tasks: 73 total, 2 running, 71 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3%us, 0.3%sy, 0.0%ni, 99.0%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st
Mem: 255420k total, 210048k used, 45372k free, 11992k buffers
Swap: 524280k total, 0k used, 524280k free, 118056k cached
看最后两行:
Mem: 255420k total 物理内存总量
210048k used 使用的物理内存总量
45372k free 空闲内存总量
11992k buffers 用作内核缓存的内存量
Swap: 524280k total 交换区总量
0k used 使用的交换区总量
524280k free 空闲交换区总量
118056k cached 缓冲的交换区总量。
三.vmstat
1.简介:报告关于内核线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息
2.使用:
vmstat -5 每五秒刷新显示
vmstat -S m 以mB为单位显示
vmstat -S M 以MB为单位显示
vmstat -S k 以kB为单位显示
vmstat -S K 以KB为单位显示
vmstat -n 1 10 每一秒输出一次,重复10次
vmstat -s 显示事件计数和内存统计信息
vmstat -S M -s 以MB为单位显示统计信息
vmstat -m 显示内核slab内存缓存信息
3.数据分析:
[root@huanxiangwu ~]# vmstat -S M
procs ———–memory———- —swap– —–io—- –system– —–cpu——
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 59 13 112 0 0 60 43 1021 41 1 1 96 2 0
Procs
r: 等待运行的进程数 b: 处在非中断睡眠状态的进程数 w: 被交换出去的可运行的进程数。此数由 linux 计算得出,但 linux 并不耗尽交换空间
Memory
swpd: 虚拟内存使用情况
free: 空闲的内存
buff: 被用来做为缓存的内存数
Swap
si: 从磁盘交换到内存的交换页数量
so: 从内存交换到磁盘的交换页数量
IO
bi: 发送到块设备的块数,单位:块/秒
bo: 从块设备接收到的块数,单位:块/秒
System
in: 每秒的中断数,包括时钟中断
cs: 每秒的环境(上下文)切换次数
CPU
按 CPU 的总使用百分比来显示
us: CPU 使用时间
sy: CPU 系统使用时间
id: 闲置时间
wa: 等待输入输出的CPU时间百分比
st: 从虚拟机窃取的时间
[root@huanxiangwu ~]# vmstat -S M -s
249 M total memory
190 M used memory
86 M active memory
82 M inactive memory
58 M free memory
13 M buffer memory
113 M swap cache
511 M total swap
0 M used swap
511 M free swap
1957 non-nice user cpu ticks
16 nice user cpu ticks
3475 system cpu ticks
343603 idle cpu ticks
4635 IO-wait cpu ticks
467 IRQ cpu ticks
368 softirq cpu ticks
0 stolen cpu ticks
168066 pages paged in
122707 pages paged out
0 pages swapped in
0 pages swapped out
3611914 interrupts
130145 CPU context switches
1275319142 boot time
3053 forks
[root@huanxiangwu ~]# vmstat -m
Cache Num Total Size Pages
rpc_buffers 8 8 2048 2
rpc_tasks 8 20 192 20
rpc_inode_cache 6 9 448 9
ip_fib_alias 14 113 32 113
ip_fib_hash 14 113 32 113
ip_conntrack_expect 0 0 96 40
ip_conntrack 2 34 228 17
fib6_nodes 24 113 32 113
ip6_dst_cache 16 30 256 15
ndisc_cache 1 20 192 20
RAWv6 4 11 704 11
UDPv6 2 6 640 6
tw_sock_TCPv6 0 0 128 30
request_sock_TCPv6 0 0 128 30
TCPv6 3 3 1280 3
jbd_1k 0 0 1024 4
dm_mpath 0 0 1052 7
…
四.slabtop
1.简介:实时显示内核slab内存缓存信息
2.使用:
slabtop –delay=n, -d n 每隔n秒刷新信息
slabtop –sort=S, -s S 按照S排序,其中S为排序标准
–once, -o 显示一次并退出
3.排序标准
a: sort by number of active objects
b: sort by objects per slab
c: sort by cache size
l: sort by number of slabs
v sort by number of active slabs
n: sort by name
o: sort by number of objects
p: sort by pages per slab
s: sort by object size
u: sort by cache utilization
4.数据分析
[root@huanxiangwu ~]# slabtop -o
Active / Total Objects (% used) : 342368 / 362880 (94.3%)
Active / Total Slabs (% used) : 7873 / 7873 (100.0%)
Active / Total Caches (% used) : 103 / 150 (68.7%)
Active / Total Size (% used) : 27814.06K / 29616.44K (93.9%)
Minimum / Average / Maximum Object : 0.01K / 0.08K / 128.00K
OBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE NAME
133980 133862 99% 0.02K 660 203 2640K avtab_node
92886 92653 99% 0.03K 822 113 3288K size-32
28626 27174 94% 0.05K 367 78 1468K selinux_inode_security
25816 25614 99% 0.48K 3227 8 12908K ext3_inode_cache
23693 18692 78% 0.13K 817 29 3268K dentry_cache
21240 15306 72% 0.05K 295 72 1180K buffer_head
6174 5758 93% 0.27K 441 14 1764K radix_tree_node
相关推荐
### Flex应用内存泄露的分析与诊断 #### 引言 Flex是一种用于构建和部署富互联网应用(RIA)的技术,它采用ActionScript语言作为脚本语言,并在Flash Player虚拟机(AVM)中运行。如同其他高级编程语言一样,AVM...
全红内存,通常指的是内存条在检测时所有LED灯均亮起,这通常是故障的象征。本文将探讨几种可能导致全红内存的原因以及相应的解决方法。 首先,内存引脚短路是一个常见问题。当内存条积累过多灰尘或杂质,可能会...
RST内存测试软件说明 (此帖转载自 [url=http://www.chipfix.com.cn]『电脑芯片级维修基地』[/url]) (此帖转载自 [url=http://www.chipfix.com.cn]『电脑芯片级维修基地』[/url]) (此帖转载自 [url=...
在网络上,凡是在转载关于用Thaiphoon Burner修改内存SPD的文章的各论坛,都有网友表示这样的使用心得分享确实有利于大家DIY动手能力和水平的提高,很多人都对发贴人表示了谢意。 修改内存SPD信息可以达到优化内存...
3. `[转载]如何调试MFC中的内存泄露 - 老白的日志 - 网易博客.htm`: 该篇博客文章可能介绍了调试MFC程序内存泄露的技巧和工具。 4. `CString内存泄露的解决办法 - C-C++-VC-MFC - 悠悠网 - Powered by Discuz!....
Oracle内存全面分析 别人总结 转载
STM32是ST公司基于ARM Cortex-M内核设计的微控制器,其性能强大、资源丰富,但是要高效使用STM32,必须掌握其内存管理的技巧,这包括程序代码存储、变量存储以及堆栈使用等方面的知识。 在Keil开发环境中进行STM32...
在PCPOP网站上转载的文章中,作者还指出了内存技术文章中存在的一些误区。例如,有的文章错误地解释了某些内存技术或者混淆了不同的内存类型,这导致了错误的知识普及。因此,了解正确的内存技术知识,特别是在众多...
(转载的)南亚(elixir)DDR内存芯片的命名规则 DDR、DDR2、DDR3、DDr4代缓存颗粒命名可能有区别,向大佬求教 -图片转载网络,仅供参考,如有异议请联系。
于是在Google上查找相关说明,经过跋山涉水,终于找到一片,但是很不幸,在一家被挡在墙外的网站上,也就只好半转载、半理解得写出了这一篇使用说明。 先看软件介绍。这个可以从网络上搜索。例如,它是一个独立...
于是在Google上查找相关说明,经过跋山涉水,终于找到一片,但是很不幸,在一家被挡在墙外的网站上,也就只好半转载、半理解得写出了这一篇使用说明。 先看软件介绍。这个可以从网络上搜索。例如,它是一个独立...
内存溢出通常是由于内存泄漏,即不再使用的对象仍然被引用,导致垃圾收集器无法回收其占用的内存。 内存泄漏可能是由Web请求中的特定对象导致的,即使少量的泄漏可能暂时不会造成严重后果,但大量泄漏(如10000或...
商业转载请联系作者获得授权,非商业转载请注明出处。 android中用getApplicationContext()会不会避免某些内存泄漏问题? RT,在android开发中,如果在使用context的地方全部用getApplicationContext()会不会避免...
2. **指针所指向的类型**:通过指针访问内存时,解释器将如何解析内存中数据的类型。这可以通过删除指针名称和名称左侧的指针声明符`*`来确定。 3. **指针的值**:指针变量存储的实际内存地址。在32位系统中,指针...
【运维笔记】网关运维笔记---转载 这篇运维笔记主要涵盖了基础的IT知识,适合入门级读者学习。作者强调笔记中的内容多为基础知识,旨在帮助新手理解和掌握IT领域的基础知识,特别是对信息化底层知识的讲解。笔记...
JMM内存模型图解说秒懂
【标题】"计算机资料大全 (转载)"是一个包含多种计算机相关知识资源的集合,其中可能涵盖了从基础到进阶的各类主题。这个标题暗示我们能够在这个压缩包中找到丰富的计算机学习材料,包括但不限于操作系统原理、...
这个场景下,我们通常会遇到性能问题,比如UI卡顿、内存溢出等。这篇博客“Android实现异步加载图片 ListView”提供了一个解决此类问题的方案。以下是关于这个主题的详细知识点: 1. **ListView**: ListView是...
整理了几个内存泄漏的例子,由于转载地址已经找不到了,在这里就不一一列出来了。 1 OC和CF转化出现的内存警告 CFStringRef cfString = CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,...
- **32位模式下的内存管理**:提到了使用全局描述符表(GDT)来实现保护模式下的内存管理。GDT用于定义不同的内存区域权限,例如代码段、数据段等。这里的GDT结构定义了代码段和数据段的权限设置。 #### 4. GDT...