摘要: 在前文《新建一个空文件是否占用磁盘空间?占用多少》中我们了解到了一个空文件的磁盘开销。 今天我们再思考另外一个问题,假如我们给文件里只写入1个字节,那么这个文件实际的磁盘占用也是1个字节吗? 查看1个字节的文件 和前文一样,先不谈原理,直接动手操作。 # mkdir tempDir # cd tem 阅读全文
posted @ 2020-11-05 08:36 zhangyanfei01 阅读(469) 评论(0) 推荐(0) 编辑
摘要: 今天我们来思考一个简单的问题。在Linux下你用touch命令新建一个空文件: touch empty_file.txt 操作完成后,是否要消耗掉我们的一些磁盘空间?需要的话,大概能消耗多少?嗯,是的,这个问题简单的超乎你的想象,但是不知道你否能给你自己一个满意的答案。 我前面的几篇文章都是介绍的磁 阅读全文
posted @ 2020-11-05 08:31 zhangyanfei01 阅读(456) 评论(0) 推荐(0) 编辑
摘要: 我们使用的计算机的全称叫电子计算机,前面有电子两个字,这说的是整个计算机中的核心元器件基本上都是电子单元组成的。但机械硬盘却是一个特殊的例外,它更多是用机械技术做出来的一个产品。当把带有机械技术基因的磁盘搭到计算机,尤其是再应用到服务器领域的时候,暴露出了机械技术的两个严重问题: 第一,速度慢。 如 阅读全文
posted @ 2020-11-04 08:41 zhangyanfei01 阅读(1155) 评论(1) 推荐(0) 编辑
摘要: 前面几篇文章,主要围绕的是机械硬盘来说的。目前ssd目前应用也越来越广了,值得我们花精力琢磨琢磨。SSD硬盘是地地道道电子技术下的产品,因为不像机械硬盘IO时依赖两个耗时的机械轴行为:磁盘旋转,以及磁道寻道,SSD硬盘的访问延迟要比机械硬盘要低的多,在随机IO下的表现尤其明显。我们今天从最底层出发, 阅读全文
posted @ 2020-11-04 08:29 zhangyanfei01 阅读(1842) 评论(0) 推荐(1) 编辑
摘要: 在前文《磁盘开篇:扒开机械硬盘坚硬的外衣!》中,我们了解了机械硬盘的物理构造,是由磁盘面,磁道、扇区等更小的单位组成的,如下图: 分区是操作系统对磁盘进行管理的第一步,这也是我们任何一个计算机使用者都非常熟悉的概念。例如Windows下的C、D、E、F盘。那么请思考一下,如果你是操作系统的设计者,让 阅读全文
posted @ 2020-11-04 08:14 zhangyanfei01 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 今天我以磁盘结构作为硬盘的开篇,来分享我这些年在这方面的思考。 磁盘结构 为了方便讨论,我们还是先从最基本的磁盘物理结构说起吧,对于常见的机械磁盘,分磁盘面、磁道、柱面和扇区。(注意本文只讨论机械磁盘,SSD先放一放再说)。 机械硬盘拆开以后,结构如下 我们再用一个逻辑图看一下 可见有以下概念 : 阅读全文
posted @ 2020-11-04 08:04 zhangyanfei01 阅读(491) 评论(0) 推荐(0) 编辑
摘要: 我们公司的基础架构部有个云Redis平台,其中Redis实例在申请的时候可以自由选择需要的内存的大小。然后就引发了我的一个思考,Redis单实例内存最大申请到多大比较合适?假设母机是64GB内存的物理机,如果不考虑CPU资源的的浪费,我是否可以开一个50G的Redis实例? 于是我在Google上各 阅读全文
posted @ 2020-11-03 09:08 zhangyanfei01 阅读(394) 评论(0) 推荐(0) 编辑
摘要: 现代的开发语言除了C++以外,大部分都对内存管理做好了封装,一般的开发者根本都接触不到内存的底层操作。更何况现在各种优秀的开源组件应用越来越多,例如mysql、redis等,这些甚至都不需要大家动手开发,直接拿来用就好了。所以有些同学也会觉得作为应用层开发的同学没有学习的必要去学习底层。 但我想通过 阅读全文
posted @ 2020-11-03 08:58 zhangyanfei01 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 前面我们讨论了内存的工作原理,也进行了一些性能相关的测试。那么今天开始我们来看几个在实践中的应用。首先我们先从PHP开始。 2015年,PHP7的发布可以说是在技术圈里引起了不小的轰动,因为它的执行效率比PHP5直接翻了一倍。PHP7在内存方面,你是否知道作者都进行了哪些优化?你是否能够深层次理解到 阅读全文
posted @ 2020-11-03 08:52 zhangyanfei01 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 现在的服务器物理机CPU一般都是多个CPU,核数也是十几甚至几十核。内存几十GB甚至是上百G,也是由许多的内存条组成的。那么我这里思考一下,这么多的CPU和内存它们之间是怎么互相连接的?同一个CPU核访问不同的内存条延时一样吗? 在《内存随机访问也比顺序慢,带你深入理解内存IO过程》中我们了解了内存 阅读全文
posted @ 2020-11-03 08:36 zhangyanfei01 阅读(1060) 评论(0) 推荐(0) 编辑