`
85977328
  • 浏览: 1899424 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux内存中cache分析

 
阅读更多
背景
在做性能测试中,用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
1
1
分享到:
评论

相关推荐

    linux内存中buffer与cache的区别

    通过上述分析可以看出,`buffers`与`cache`在Linux内存管理系统中发挥着至关重要的作用。它们不仅能够显著提高文件系统的读写性能,还能够在一定程度上节省宝贵的磁盘资源。对于系统管理员和开发者来说,理解这两种...

    Linux内核内存Cache机制原理

    在Linux系统中,内存Cache主要分为两种类型:Page Cache和Disk Cache,它们分别针对文件系统和磁盘I/O进行优化。 1. **Page Cache**:这是Linux内核用于缓存文件内容的机制。当一个文件被打开并读取时,其内容会被...

    linux 查看 cache 中文件

    标题提到的"linux 查看 cache 中文件",指的是在Linux环境下查看内存中的缓存文件。这个功能可以通过特定的工具实现,描述中提及的“安装此工具后,可以查看系统内存中cache包含的文件”,很可能是指一个名为`ftools...

    linux下释放cache内存

    #### 一、理解Linux内存管理机制 在Linux系统中,内存管理机制非常高效且复杂。为了提升文件系统访问速度,Linux内核会利用空闲内存来缓存文件数据(称为Page Cache)和其他类型的缓存(如Buffer Cache)。这样做的...

    linux源代码分析之内存管理

    ### Linux源代码分析之内存管理 #### 摘要与关键词 本文档是对Linux内核内存管理系统的一个深入分析,特别是针对其源代码进行了详细的解读。Linux的内存管理是内核中最复杂的部分之一,它涉及到了内存初始化、地址...

    LINUX_源代码分析-内存管理

    通过对 Linux 内核 2.2.5 版本中内存管理模块的源代码分析,我们可以深入了解面向对象的 Slab 分配策略是如何提高内存利用率和硬件 cache 效率的。同时,通过介绍和分析关键数据结构如 kmem_bufctl_t、kmem_slab_t ...

    01-Linux内存管理之二:在X86上的虚拟内存管理.rar

    Linux内存管理系统还包括对缓存的管理,如 Page Cache 和 Disk Cache,它们用于加速文件系统的读写操作。Page Cache用于缓存文件系统中最近访问过的数据,而Disk Cache则负责HTTP等网络协议的数据缓存。LRU(Least ...

    linux 内存和CPU 分析.pdf

    在Linux系统中,内存和CPU的管理和分析是系统管理员日常维护的重要部分。了解如何查看和理解这些资源的使用情况有助于优化系统性能、诊断问题和确保服务的稳定性。本篇文章将详细探讨Linux下的内存使用率、CPU使用率...

    linux内核 slab内存分配器分析

    通过阅读《Linux内存管理之slab分配器分析》系列文档,你可以深入理解Slab分配器的工作机制,包括其源代码实现和在2.6版本中的具体应用。这些文档将帮助你更好地掌握Linux内核的内存管理技术,对进行系统调优、排查...

    手工释放linux内存.pdf

    Linux内存管理机制的一个显著特点是充分利用空闲内存作为缓存(包括Buffer Cache和Page Cache)。这样做能够极大地提高磁盘I/O效率,从而提升应用程序的整体性能。但是,这种设计也可能会让初学者感到困惑,尤其是在...

    linux内存三级映射实现

    Linux 内存三级映射实现是指在 Linux 内核中实现的内存三级映射机制,这种机制可以将虚拟地址转换为物理地址,从而实现进程之间的内存隔离和保护。本文将详细介绍 Linux 内存三级映射实现的原理、机制和实现过程。 ...

    Linux内存管理的主要数据结构分析.pdf

    本文针对Linux内核2.4.18版本进行研究,重点分析了内存管理中涉及的几个核心数据结构,为读者提供了一个全面了解Linux内存管理机制的窗口。为了深入理解Linux内存管理的复杂性,本文首先介绍了虚拟内存技术,然后...

    linux 内存管理 start_kernel

    在start_kernel函数中,尽管内核初始化过程中涉及到大量的代码和复杂的逻辑,但从物理内存管理角度出发,可以通过对关键函数调用的分析,来理解Linux内核是如何逐步建立起对物理内存的管理能力的。值得注意的是,...

    Linux内存管理实现的分析与研究.pdf

    Linux内存管理是操作系统的核心部分,对于系统的性能和稳定性至关重要。在Linux 2.4内核中,内存管理采用了非一致存储器访问(NUMA)模型,考虑到不同CPU对内存访问的时间差异,将内存划分到不同的节点(node),每...

    Linux内核分析-内存篇

    ### Linux内核分析—内存篇 #### 内存布局与管理概述 Linux内核的内存管理是操作系统核心功能之一,负责高效地分配和回收物理内存资源。为了更好地理解这一复杂的过程,本文将深入探讨Linux内核如何管理和组织内存...

    Linux内核分析与应用课件第4章(一)内存管理机制.pdf

    Linux内核分析与应用课件的第四章主要讲解了Linux内存管理机制。Linux内存管理机制包括虚拟内存实现机制、物理内存管理、进程虚拟地址空间管理、内存分配和回收机制、页缓存机制、交换机制等。 在Linux中,虚拟内存...

    Linux下应用程序到底使用了多少内存

    在分析内存使用时,要关注`-buffers/cache`和`+buffers/cache`这两部分,它们能提供更准确的应用程序内存使用情况。同时,了解Buffer Cache和Page Cache的作用,可以帮助我们评估系统性能并做出相应的调整。

    linux内存管理图

    ### 五、案例分析:如何优化Linux内存管理 #### 1. 调整swappiness参数 - **定义**:swappiness参数控制Linux系统何时开始使用交换空间。 - **优化建议**:对于服务器环境,可以将swappiness设置为较低值(如10),...

Global site tag (gtag.js) - Google Analytics