LINUX内存、CPU占用查看方法,top看不出怎么处理,buffer/cache的作用

常规方法:

一:使用TOP命令
top命令将整个机器的进程概况展示出来
1.1:按照cpu排序
top命令之后,输入大写的P
1.2:按照内存排序
top命令之后,输入大写的M
1.3查看完成的命令行
top命令之后输入小写的c
1.4查看指定进程
top -p pid
查看进程下面的线程
top -p pid -H

二:使用free命令
share:共享内存占用
ipcs:查看共享内存标识
ipcrm:删除指定共享内存

-/+ buffer/cache
buffer/cache是一个整体变量
-:表示
+:表示空闲的内存空间,等于free+buffers+cache

三:/proc文件系统
内核提供的一种特殊文件系统,是用户跟内核交互的接口。
Buffers 是对原始磁盘块的临时存储,也就是用来缓存磁盘的数据,通常不会特别大(20MB 左 右)。这样,内核就可以把分散的写集中起来,统一优化磁盘的写入,比如可以把多次小的写合并成单次大的写等等。
Cached 是从磁盘读取文件的页缓存,也就是用来缓存从文件读取的数据。这样,下次访问这些文件数据时,就可以直接从内存中快速获取,而不需要再次访问缓慢的磁盘。
SReclaimable 是 Slab 的一部分。Slab 包括两部分,其中的可回收部分,用 SReclaimable 记录;而不可回收部分,用 SUnreclaim 记录。
写文件时会用到 Cache 缓存数据,而写磁盘则会用到 Buffer 来缓存数据。,但实际上,Cache 也会缓存写文件时的数据。
Buffer 既可以用作“将要写入磁盘数据的缓存”,也可以用作“从磁盘读取数据的缓存”。
Cache 既可以用作“从文件读取数据的页缓存”,也可以用作“写文件的页缓存”。
简单来说,Buffer 是对磁盘数据的缓存,而 Cache 是文件数据的缓存,它们既会用在读请求中,也会用在写请求中。

四:通过以上命令找不到比较大的占用
说明不是某个程序占用比较大,可能是某类占用比较小,但是进程示例特别多的情况,这时候可以通过查看进程个数及进程类型比较分析。

Linux内存buffer/cache很大是因为Linux系统采用了一种称为页缓存(Page Cache)的机制来提高文件系统的性能。具体来说,当文件被读取到内存中时,Linux会将读取到的文件数据缓存内存的页缓存中,以便下次访问相同文件时可以直接从页缓存中获取,而不需要再次从磁盘中读取。这种机制可以大大提升系统IO的性能。 Linux内存buffer/cache的大小受到系统资源管理的影响,它会充分利用可用的内存空间来提供更高效的文件访问。当系统运行时,如果有大量的可用内存,并且没有其他进程需要使用,Linux会将这些多余的内存用于buffer/cache。这样一来,当需要从磁盘读取文件时,大部分情况下可以直接从内存中获取,而不必再次访问磁盘,从而大大提高系统的响应速度。 值得注意的是,虽然buffer/cache占用了大量内存,但这些内存并不是完全被占用,而是可以根据需要被释放的。当其他程序需要更多的内存时,Linux会自动将buffer/cache中的数据释放出来,以满足其他程序的需求。这个过程被称为自动缓存(Automatic caching),可以确保系统内存始终处于最佳状态。 总而言之,Linux内存buffer/cache很大是Linux系统为了提高文件系统的性能而采取的一种机制。通过将文件数据缓存内存中,可以减少对磁盘的读取操作,从而大大提升了系统的响应速度。同时,这些内存可以根据需要进行释放,确保系统内存始终处于最佳状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值