背景
在做性能测试中,用top命令发现内存的cache到了4G左右,当时就好奇是cache了什么东西。然后就顺着分析,压测过程中日志文件过大,导致缓存的是日志。
为了验证这个结果,首先是随便vi一个大文件,然后查看cache是否变化。
然后寻找了工具,验证下文件里是否是那个文件。
最后得出结论:linux是会缓存编辑过的文件的。
下载地址:
https://code.google.com/p/linux-ftools/
官方默认的源码,换行符是windows的,下载完源码以后,需要修改换行符,否则安装报错。需要自行替换linux-ftools_modify.zip已经完成了换行符的替换。
打包之前要先修改权限,增加执行脚本的权限
chmod 755 -R *
打包指令
./configure
make && make install
查看缓存命令(只针对当前目录下的文件有效)
linux-fincore --pages=false --summarize --only-cached *
输出
[root@dev-suning tmp]# linux-fincore --pages=false --summarize --only-cached *
filename size total_pages min_cached page cached_pages cached_size cached_perc
-------- ---- ----------- --------------- ------------ ----------- -----------
Could not mmap file: linux-ftools: No such device
Could not mmap file: linux-ftools-new: No such device
Could not mmap file: redis-2.8.19: No such device
wildfly-8.1.0.Final.tar.gz 115,995,207 28,320 0 28,320 115,998,720 100.00
---
total cached size: 115,998,720
以下是截图
刚开始的时候,cache只有40M
用vi编辑器,打开了wildfly(110M左右)
用cache分析工具,查看是否是这个文件
- 大小: 5.2 KB
- 大小: 5 KB
- 大小: 18.8 KB
分享到:
相关推荐
通过上述分析可以看出,`buffers`与`cache`在Linux内存管理系统中发挥着至关重要的作用。它们不仅能够显著提高文件系统的读写性能,还能够在一定程度上节省宝贵的磁盘资源。对于系统管理员和开发者来说,理解这两种...
在Linux系统中,内存Cache主要分为两种类型:Page Cache和Disk Cache,它们分别针对文件系统和磁盘I/O进行优化。 1. **Page Cache**:这是Linux内核用于缓存文件内容的机制。当一个文件被打开并读取时,其内容会被...
标题提到的"linux 查看 cache 中文件",指的是在Linux环境下查看内存中的缓存文件。这个功能可以通过特定的工具实现,描述中提及的“安装此工具后,可以查看系统内存中cache包含的文件”,很可能是指一个名为`ftools...
#### 一、理解Linux内存管理机制 在Linux系统中,内存管理机制非常高效且复杂。为了提升文件系统访问速度,Linux内核会利用空闲内存来缓存文件数据(称为Page Cache)和其他类型的缓存(如Buffer Cache)。这样做的...
### Linux源代码分析之内存管理 #### 摘要与关键词 本文档是对Linux内核内存管理系统的一个深入分析,特别是针对其源代码进行了详细的解读。Linux的内存管理是内核中最复杂的部分之一,它涉及到了内存初始化、地址...
通过对 Linux 内核 2.2.5 版本中内存管理模块的源代码分析,我们可以深入了解面向对象的 Slab 分配策略是如何提高内存利用率和硬件 cache 效率的。同时,通过介绍和分析关键数据结构如 kmem_bufctl_t、kmem_slab_t ...
Linux内存管理系统还包括对缓存的管理,如 Page Cache 和 Disk Cache,它们用于加速文件系统的读写操作。Page Cache用于缓存文件系统中最近访问过的数据,而Disk Cache则负责HTTP等网络协议的数据缓存。LRU(Least ...
在Linux系统中,内存和CPU的管理和分析是系统管理员日常维护的重要部分。了解如何查看和理解这些资源的使用情况有助于优化系统性能、诊断问题和确保服务的稳定性。本篇文章将详细探讨Linux下的内存使用率、CPU使用率...
通过阅读《Linux内存管理之slab分配器分析》系列文档,你可以深入理解Slab分配器的工作机制,包括其源代码实现和在2.6版本中的具体应用。这些文档将帮助你更好地掌握Linux内核的内存管理技术,对进行系统调优、排查...
Linux内存管理机制的一个显著特点是充分利用空闲内存作为缓存(包括Buffer Cache和Page Cache)。这样做能够极大地提高磁盘I/O效率,从而提升应用程序的整体性能。但是,这种设计也可能会让初学者感到困惑,尤其是在...
Linux 内存三级映射实现是指在 Linux 内核中实现的内存三级映射机制,这种机制可以将虚拟地址转换为物理地址,从而实现进程之间的内存隔离和保护。本文将详细介绍 Linux 内存三级映射实现的原理、机制和实现过程。 ...
本文针对Linux内核2.4.18版本进行研究,重点分析了内存管理中涉及的几个核心数据结构,为读者提供了一个全面了解Linux内存管理机制的窗口。为了深入理解Linux内存管理的复杂性,本文首先介绍了虚拟内存技术,然后...
在start_kernel函数中,尽管内核初始化过程中涉及到大量的代码和复杂的逻辑,但从物理内存管理角度出发,可以通过对关键函数调用的分析,来理解Linux内核是如何逐步建立起对物理内存的管理能力的。值得注意的是,...
Linux内存管理是操作系统的核心部分,对于系统的性能和稳定性至关重要。在Linux 2.4内核中,内存管理采用了非一致存储器访问(NUMA)模型,考虑到不同CPU对内存访问的时间差异,将内存划分到不同的节点(node),每...
### Linux内核分析—内存篇 #### 内存布局与管理概述 Linux内核的内存管理是操作系统核心功能之一,负责高效地分配和回收物理内存资源。为了更好地理解这一复杂的过程,本文将深入探讨Linux内核如何管理和组织内存...
Linux内核分析与应用课件的第四章主要讲解了Linux内存管理机制。Linux内存管理机制包括虚拟内存实现机制、物理内存管理、进程虚拟地址空间管理、内存分配和回收机制、页缓存机制、交换机制等。 在Linux中,虚拟内存...
在分析内存使用时,要关注`-buffers/cache`和`+buffers/cache`这两部分,它们能提供更准确的应用程序内存使用情况。同时,了解Buffer Cache和Page Cache的作用,可以帮助我们评估系统性能并做出相应的调整。
### 五、案例分析:如何优化Linux内存管理 #### 1. 调整swappiness参数 - **定义**:swappiness参数控制Linux系统何时开始使用交换空间。 - **优化建议**:对于服务器环境,可以将swappiness设置为较低值(如10),...