磁盘高速缓存

磁盘高速缓存是一种软件机制,它允许系统把通常存放在磁盘上的一些数据保留在RAM中,以便对那些数据的进一步访问不用再访问磁盘而能尽快得到满足。

摘自《深入理解LINUX内核》。这是一直以来内存不断飙升的现象的专用术语。一般情况下,研究的过程中都是一致性含糊的定义为高速缓冲区,其实高速缓冲区包含的东西相当广泛。

在实际的讨论中,尝试使用直接的I/O,对磁盘进行读写,原因是这样子的,对于数据的读取是很小的,但是大量的数据正在写入,等待写入,由于采用磁盘高速缓存的概念导致了内存不足的情况。实际上,

到底直接I/O的缺点:

1)所有的写必须等待磁盘响应,数据写入磁盘,才能够返回,实际上磁盘的寻址是相当的缓慢,尤其是不断大量数据的写入,对于磁盘的整体性能,造成很大的损耗。所有的操作耗时,必须建立多线程维持数据的接收和数据的写入。

2)实际上写操作最终调用磁盘驱动在这里也进行了排列,很可能造成更大的延时。

3)不断的写入缩短磁盘的寿命。

所以取消磁盘高速缓存是不可取的。

时间: 2024-08-07 16:41:01

磁盘高速缓存的相关文章

Linux学习笔记(三)磁盘与文件系统管理

1.基本上Linux最主要的文件系统为Ext2,该文件系统内的信息主要有: (1)superblock:记录此文件系统的整体信息,包括inode/block的总量.使用量.剩余量,以及文件系统的格式与相关信息等. (2)inode:记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在的block号码. (3)block:实际记录文件的内容,若文件太大时,会占用多个block. 2.Ext2文件系统的数据访问为索引式文件系统(indexed allocation). 3.需要碎片整

磁盘碎片原理分析 (转载)

原文地址:http://www.cnblogs.com/hbwang/archive/2005/07/13/192251.html 一.什么是磁盘碎片? 其实磁盘碎片应该称为文件碎片,是因为文件被分散保存到整个磁盘的不同地方,而不是连续地保存在磁盘连续的簇中形成的.当应用程序所需的物理内存不足时,一般操作系统会在硬盘中产生临时交换文件,用该文件所占用的硬盘空间虚拟成内存.虚拟内存管理程序会对硬盘频繁读写,产生大量的碎片,这是产生硬盘碎片的主要原因.其他如IE浏览器浏览信息时生成的临时文件或临时文

高速缓存与缓冲区

1. 磁盘高速缓存(Disk Cache) 操作零碎中运用磁盘高速缓存技巧来进步磁盘的I/O速度,对高速缓存复制的拜访要比原始数据拜访更为高效.例如,正在运转的过程的指令既存储在磁盘上,也存储在物理内存上,也被复制到CPU的二级和一级高速缓存中.不外,磁盘高速缓存技巧分歧于平日意义下的介于CPU与内存之间的小容量高速存储器,而是指应用内存中的存储空间来暂存从磁盘中读出的一系列盘块中的信息.因而,磁盘高速缓存在逻辑上属于磁盘,物理上则是驻留在内存中的盘块.高速缓存在内存平分为两种方式:一种是在内存

如何判断CPU、内存、磁盘的性能瓶颈?

1.如何判断CPU.内存.磁盘的瓶颈? CPU瓶颈 1) 查看CPU利用率.建议CPU指标如下 a) User Time:65%-70% b) System Time:30%-35% c) Idle:0%-5% 如果us,sy高于这个指标可以判断CPU有瓶颈 使用top查看 查看运行队列 每个CPU都会维持一个运行队列,理想情况下,调度器会不断让队列中的进程运行.进程不是处在sleep状态就是run able状态.如果CPU过载,就会出现调度器跟不上系统的要求,导致可运行的进程会填满队列.队列愈

linux 系统进程理解

1.为了对进程从产生到消亡的整个过程进行跟踪和描述,就需要定义各种进程的各种状态并制定相应的状态转换策略,以此来控制进程的运行.      不同的操作系统对进程的状态解释不同,但是最基本的状态都是一样的.包括以下三种:       运行态:进程占用CPU,并在CPU上运行:       就绪态:进程已经具备运行条件,但是CPU还没有分配过来:       阻塞态:进程因等待某件事发生而暂时不能运行:     进程在一生中,都处于上述3中状态之一.       下面是3种状态转换图        

android 实现类似微信缓存和即时更新好友头像

引言 使用微信时我们会发现,首次进入微信的好友列表时,会加载好友头像,但是再次进入时,就不用重新加载了,而且其他页面都不用重新加载,说明微信的好友头像是缓存在本地的,然后好友修改头像后,又会及时的更新,这个功能是如何实现的呢,我们来分析一下 分析 关于头像缓存的实现 头像是网络图片,而且数据量较大,如果用我们常用的SharedPreferences将头像以Bitmap的形式存储,势必会造成OOM,这个方法是行不通的,我们存储的只能是图片的地址,但是如果只存储地址的话,要转化成图片,还是要通过网络

Linux内存管理机制

一.首先大概了解一下计算机CPU.Cache.内存.硬盘之间的关系及区别. 1.  CPU也称为中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路, 是一台计算机的运算核心(Core)和控制核心( Control Unit).它的功能主要是解释计算机指令以及处理计算机软件中的数据.中央处理器主要由三核心部件组成,运算器.控制器和总线(BUS),运算器又主要由算术逻辑单元(ALU)和寄存器(RS)组成. 2.Cache即高速缓冲存储器,是位于CPU与主内存

【Linux】系统 之 RAID

本人从事DBA相关的工作,最近遇到了IO抖动伴随shread running抖动的情况,主机宕机重启后备库及下游解析binlog出现binlog损害的案例,向一些有经验的同事咨询学习,其中最大的嫌疑是:raid卡问题,今天带各位一起走进raid卡的世界 RAID卡是什么,为什么会用到RAID卡 RAID卡的缓存与磁盘自带的缓存的关系 使用RAID卡应该注意的事项 了解MySQL的你,一定不会对InnoDB的事务日志陌生,InnoDB使用日志来减少提交事务时的开销,因为日志中记录了事务,就无须在每

linux内存管理初学

虚拟内存模型 Linux 内核本身并不运行在虚拟空间中,其使用的是物理寻址模式. 物理内存被分割为界面,一个内存页面的大小由PAGE_SIZE宏决定. 虚拟地址空间的方式使程序员可以将巨大的结构用于连续的地址,而不必考虑物理内存上的限制. 线性地址到物理地址 线性地址需要由处理器或者一个单独的MMU转换为物理地址,转换方式如下: 解析的方式为: 1.用线性地址中的第一个位段为下标可以在页面目录中找的一个表项,这个表项指向某个中间目录. 2.用线性地址中的第二个位段为下标可以在该中间目录中找到一个