计算机硬件组成
民用计算机硬件可以大致分为两类:
-
1、个人PC:通常用于个人娱乐or办公使用
- 1.1 家用台式电脑
- 1.2 笔记本电脑,携带方便快捷
-
2、服务器:通常用于运行商业软件
服务器,也称伺服器(台湾),互联网公司开发的商业软件都是运行与服务器上的。
服务器的组成与个人PC总体一致,但因为运行商业软件的缘故,服务器在在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面比个人PC要更强一些
所以下述计算机硬件构成适用于个人PC与服务器,让我们开始学习吧
一 计算机五大组成部分
计算机硬件由五大部分组成
- 控制器
- 运算器
- 存储器
- 输入设备
- 输出设备
具体如下图所示,详解请看:https://www.cnblogs.com/linhaifeng/p/6523843.html#_label4
二 cpu详解
CPU(中央处理器)
-
相当于人体的大脑,负责计算机的运算和控制,是服务器性能效率的最核心部件。
常见品牌:Intel(志强 xeon),AMD
-
双CPU 时,只能同时装同一型号的。
-
一般的企业里的服务器,CPU个(颗)数2-4颗,单个(颗)CPU是四核。内存总量一般是16-256G(32G,64G)。
-
做虚拟化的宿主机(eg:安装vmware(虚拟化软件)的主机),CPU颗数4-8颗,内存总量一般是48-128G,6-10个虚拟机。
-
2核4线程=》真2核假4核
物理上的双核,通过超线程技术,使每个物理核心模拟出一个虚拟核心出来,这样可以同时处理多个任务。但实际上它还是双核,但是性能比双核要强,相当于假4核,低于真正的物理四核心处理器。
-
4核=》真4核
就是在一块CPU芯片上集成4个CPU核心。
现在的I3就是2核心4线程,I5是4核心8线程,酷睿2双核是单纯的双核,酷睿2四核就是单纯的四核。
另外由于上下两代产品的框架不同,必然造成性能的巨大差异,所以现在同档次,I3要比酷睿2双核强,I5,I7要比酷睿2四核强~~~
详解请看:https://www.cnblogs.com/linhaifeng/p/6523843.html#_label5
三 存储器详解
3.1 存储器概述
详解请看:https://www.cnblogs.com/linhaifeng/p/6523843.html#_label6
3.2 存储器之内存
内存条相当于人脑的记忆功能,只能临时存放数据
3.3 存储器之硬盘
硬盘相当于人的本子,可以永久保存数据
磁盘原理介绍:https://www.cnblogs.com/linhaifeng/p/6523843.html#_label7
3.4 硬盘与硬盘支架
3.5 硬盘接口
毫无疑问,硬盘终究是要链接到计算机上,如果把硬盘比喻一个盛水的瓶子,那么无论硬盘本身容量多大、速度多快,最终流水的速度都会卡在瓶口上,这个瓶口就是硬盘的接口,也就是说决定硬盘读写速度不仅仅是硬盘本身,还有硬盘的接口,硬盘接口有例如
- 1、IDE
- 2、SATA
- 3、SCSI
- 4、SAS
了解如下
==========================》并口:IDE《==========================
早期的PATA(Parallel ATA)接口,即IDE接口,IDE采用的并行接口,在传输数据和信号时的总线是复用的,传输速率会受到一定限制。
如若提高传输速率,那么传输的数据和信号往往会产生干扰,导致错误。在这种情况下,串行接口技术就产生了。
==========================》串口:SATA《==========================
SATA是Serial AT Attachment的缩写,即串行ATA接口,主要功能是用于主板和大量存储设备(如硬盘和光驱)之间的数据传输。它采用串行架构,以降低成本,提高性能,提供更好的扩展性,以取代PATA(Parallel ATA,即我们常说的IDE接口)。相比于PATA,SATA接口的数据传输速度更快,而且允许更长的电缆,从而提供了更灵活的主机内的定位硬盘的能力。不过,SATA仍然主要用在桌面计算机和笔记本电脑中。
一端接电源,一端接数据
数据与电源是是分开接的
=============》SASI口(随着小型机退出历史舞台该接口也随即没落)《==================
SCSI英文全称为“Small Computer System Interface”(小型计算机系统接口)主要用于连接和传输服务器或者工作站上的设备,如硬盘、光盘驱动器和扫描仪等,,是同IDE(ATA)完全不同的接口,IDE接口是普通PC的标准接口,而SCSI并不是专门为硬盘设计的接口,是一种广泛应用于小型机上的高速数据传输技术
SCSI的主要优点是性能好,支持多设备,但缺点是价格较高,配置复杂。这个接口在过去的三十多年时间里,从并行的方式逐渐发展为串行的方式,也就是我们现在说的 SAS。
==========================》新一代SCSI:SAS口《==========================
SAS(Serial Attached SCSI)即串行连接SCSI,是新一代的SCSI技术、是 SCSI 的一种串行实现方式、是 SCSI 的延续和升级。它继承了 SCSI 的许多优点(比如,支持多设备,高性能等),同时又从 SATA 中获得了一些好处(如串行架构等)。SAS 适合于需要高性能和大数据传输的工作环境,通常在服务器和大型存储设备中使用。
仔细看,SAS与SATA还是有区别的
SATA、SCSI、SATA区别
==========================》光纤通道《==========================
光纤通道主要用于高端服务器场景,价格昂贵,英文拼写是Fibre Channel,和SCSI接口一样光纤通道最初也不是为硬盘设计开发的接口技术,是专门为网络系统设计的,但随着存储系统对速度的需求,才逐渐应用到硬盘系统中
==========================》主板上的接口之PCI-E《==========================
上面我们介绍的都是关于硬盘的接口,但是硬盘毕竟不能独立工作,它想工作,还是要插到计算机的主板上,在主板上,
如下图,在主板上有专门可以插入磁盘的IDE口、SATA口。
源:磁盘
目标:主板上的接口
源与目标能够严丝合缝的前提是,它们俩都遵循相同的协议才行,这个是大前提!!!
源与目标能够严丝合缝的前提是,它们俩都遵循相同的协议才行,这个是大前提!!!
源与目标能够严丝合缝的前提是,它们俩都遵循相同的协议才行,这个是大前提!!!
源与目标能够严丝合缝的前提是,它们俩都遵循相同的协议才行,这个是大前提!!!
源与目标能够严丝合缝的前提是,它们俩都遵循相同的协议才行,这个是大前提!!!
源与目标能够严丝合缝的前提是,它们俩都遵循相同的协议才行,这个是大前提!!!
源与目标能够严丝合缝的前提是,它们俩都遵循相同的协议才行,这个是大前提!!!
基于上述前提
但是在此我想提前介绍下主板上的PCI-E接口,这个接口用来接显卡、声卡、网卡等,发现没有,都是一些io速度远高于硬盘的设备
没错:源与目标遵循的都是PCI-E协议,而PCI-e协议是一种非常高速的协议,按照这种协议制作出来的接口速度都非常快
要远远快鱼你之前学习的SAS或SATA
但遗憾的是,在过去很长一段时间里,我们的硬盘与目标遵循的都是IDE或SATA或SAS这种协议,速度其实并不算太高
而随着硬盘技术的发展,尤其是固态硬盘速度愈来愈快,容量越来越大价钱越来越便宜,固态硬盘的使用占比慢慢提了上来。但依然采用老的协议来传数据,明显对不起SSD固态硬盘的发展,此时就必须诞生一种专为SSD固态盘定制的协议,参照这种协议来改造源(也就是我们的硬盘)的接口,以及支持该协议的一种目标接口(也就是主板上的接口)
大家思来想去,我们没必要创造,PCI-e协议就是现成的协议啊,注意我说的是协议而不是接口。于是大家就基于该协议设计好了主板上的接口,现在多采用的是M2接口,遵循的就是PCI-e协议,所以你也可以将m2接口称之了pci-e通道之类的
接下来就是为源(也就是我们的固态磁盘)按照PCI-e协议定制一种接口,于是诞生了NVMe专为SSD硬盘准备的
一块Nvme口的固态盘长这个样子(教你一招,啥硬件不同,就以买家身份去JD问,让专业人给你解答才是效率最高的学习方式)
你想购买使用Nvme口的固态盘,要求你的笔记本或主板支持 M.2接口 2280尺寸 Nvme协议 Pcie通道
如果你的电脑没有M2的插槽怎么办,那需要用到M.2 NVME转接PCIE转接卡,
这样你就可以接入主板的PCI-e槽上了
来看下PCI-E协议为何如此快
PCIe(Peripherals Component Interconnect Express)是一种高速总线标准,用于连接主板上的各种外部设备。因为其高带宽和低延迟的特性,越来越多的高速设备,如图形卡,声卡,网络卡,以及SSD都使用PCIe作为连接接口。
PCIe实际上可以提供非常高的传输速度,远超过传统的SATA接口。例如,PCIe 3.0 x4接口的理论最大带宽可以达到32Gbps,而SATA 3.0的带宽只有6Gbps。这就是为什么越来越多的高速NVMe SSD选用PCIe作为连接接口。
现代主板上的很多M.2插槽也是基于PCIe接口的,所以你可以将NVMe SSD直接插入M.2插槽来达到高速读写。
总的来说,PCIe插槽完全可以用来插SSD,也是目前主流的高速SSD连接方式。
==========================》专为SSD定制的NVMe口《==========================
NVMe是一种存储协议,专门为利用固态驱动器(SSD)的NAND闪存的性能而设计的。NVMe是在PCI-E的基础上进行设计和实现,
拓展阅读:
https://post.smzdm.com/p/allovd20/?sort_tab=hot%252F
https://blog.csdn.net/sj349781478/article/details/125110104
https://www.ssdfans.com/?p=90933
3.6 硬盘与接口组合
硬盘及接口性能
-
1、硬盘:SSD(固态)>机械硬盘
-
2、硬盘接口:SAS > SATA
硬盘与接口的组合玩法
ps:冷数据与热数据
3.7 RAID技术介绍
RAID技术的本质就是对硬盘做集群,将多块合并成为一块虚拟的大盘,可以带来好处
- 1、容量的增大
- 2、读写速度提升
- 3、防止单点故障
RAID有多种整合方式,常见的有
-
raid0
-
raid1
-
raid5
-
Raid10
详解如下
==================>RAID0<==================
RAID 0 又称为Stripe(条带化)或striping(条带模式),它在所有RAID级别中具有最高的存储性能(磁盘容量不浪费,读写很快)。
RAID0 提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求,这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。
要制作RAID0至少要1块物理磁盘,例如DELL服务器带有RAID卡,如果不做RAID就不能使用磁盘,除非将磁盘直接接入主板(这不够你费劲的),所以我们有时会将一块磁盘作RAID0使用。
关注点 | 描述 |
---|---|
容量 | 是n块盘加在一起的容量。在所有RAID级别中具有最高的存储性能,原理是把连续的数据分散到多个磁盘上存取。 |
性能 | 理论上磁盘读写速度比单盘提升n倍,但由于总线带宽等多种因素的影响,实际的提升速率肯定会低于理论值,但是,大量数据并行传输与串行传输比较,提速效果显然毋庸置疑,磁盘越多倍数越小。 |
冗余 | 无任何冗余,坏1块盘,整个RAID就不能用了 |
场合 | 适合于大规模并发读写,但对数据安全性要求不高的情况,如mysql slave(数据块从库),集群的节点RS(服务) |
特点 | 速度快,无冗余,容量无损失 |
==================>RAID1<==================
RAID 1 又称为Mirror 或Mirrooring(镜像),它的宗旨是最大限度的保证用户数据的可用性和可修复性,RAID 1 的操作方式是把用户写入硬盘的数据百分之百的自动复制到另外一个硬盘上,从而实现存储双份的数据。
要制作RAID 1,只支持两块盘,整个RAID大小等于两个磁盘中最小的那块的容量,因此,最好使用同样大小的磁盘,在存储时同时写入两块磁盘,实现数据完整备份,但相对降低了写入性能,但是读取数据时可以并发,相当于两块RAID 0的读取效率。
关注点 | 描述 |
---|---|
容量 | 损失50%的数据容量,列如2块1T的盘,做完RAID1后容量为1T |
性能 | Mirror不能提高存储性能,理论上写性能和单盘差不多。 |
冗余 | 在所有RAID级别中,RAID1提供最高的数据安全保障,冗余度100% |
特点 | 100%冗余,容量损失半。 |
==================>RAID5<==================
RAID 5是一种存储性能,数据安全和存储成本兼顾的存储解决方案。
RAID 5需要三块或以上的物理磁盘,可以提供热备盘实现故障恢复,采用奇偶校验,可靠性强,只有同时损坏2块盘时数据才会损坏,只损坏1块盘时,系统会根据存储的奇偶校验位重建数据,临时提供服务,此时如果有热备盘,系统还会自动在热备盘上重建故障磁盘上的数据。
关注点 | 描述 |
---|---|
性能 | RAID 5 具有和RAID 0 相近的数据读取速度,只是多了奇偶校验信息,写入数据速度比单个磁盘写入操作稍慢。 |
容量 | 损失一块盘的数据容量 |
冗余 | 可损失一块盘,RAID数据安全保障程度比RAID 1 低,而磁盘空间利用率要比raid 1 高 |
场合 | RAID 5 可以理解为是RAID 0 和RAID 1的折中方案,适合对性能和冗余都有一定要求,又都不是十分高的情况。mysql的主从库都可以,存储也可以,普通的服务器为了减少维护成本,又保持一定冗余和读性能都可以做RAID 5 |
特点 | 容量损失一块盘,写数据通过奇偶校验,RAID 1和 RAID 0的折中方案。 |
https://www.cnblogs.com/linhaifeng/articles/13790061.html
==================>RAID10<==================
RAID 1+0 也被称为RAID 10标准,实际是将RAID 1和RAID 0标准结合的产物,在连续地以位或字节为单位分割数据并且并行读/写多个磁盘的同时,为每一块磁盘作磁盘镜像进行冗余。它的优点是同时拥有RAID 0的超凡速度和RAID 1的数据高可靠性,但是CPU占用率同样也更高,而且磁盘的利用率比较低。
极高的读写效率和较高的数据保护、恢复能力
注意一下Raid 10 和 Raid01的区别:
RAID01又称为RAID0+1,先进行条带存放(RAID0),再进行镜像(RAID1)===》几乎没人用这种方案。
RAID10又称为RAID1+0,先进行镜像(RAID1),再进行条带存放(RAID0)。
关注点 | 描述 |
---|---|
性能 | 极高的读写效率和较高的数据保护、恢复能力 |
冗余 | RAID10提供100%的数据冗余 |
应用场合 | RAID 10适用于数据库存储服务器等需要高性能、高容错但对容量要求不大的场合 |
特点 | RAID 1和RAID 0标准结合的产物 |
==================>RAID级别间优缺点对比<==================
运维生产环境常用RAID级别为RAID0,RAID1, RAID5 ,RAID10
RAID级别 | 最少磁盘要求 | 关键优点 | 关键缺点 | 实际应用场景 |
---|---|---|---|---|
RAID0 | 1快也行,通常是2块 | 读写速度快、存储空间无浪费 | 没有任何冗余 | 有条件的话还是尽量不用非要用的话可以用在:MySQL Slave(数据库的从库),集群的节点RS |
RAID1 | 2块(只能) | 100%冗余,镜像盘 | 读写性能、存储空间只相当于一块盘的,另外一块的浪费掉了 | 用在数据很重要的场景,且不能宕机的业务,监控,系统盘 |
RAID5 | 3块 | 具有一定性能和冗余,可以坏一块盘 | 写入性能不高、3块盘的情况下相当于会浪费掉一块的存储与读写速度 | 一般的业务都可以用 |
RAID10 | 4块 | 读写速度很快,100%冗余 | 成本高 | 性能和冗余要求很好的业务。数据库主库和存储的主节点。 |
总结,在盘数相同的情况下各种raid的对比:
- 冗余从好到坏:raid10 > raid1 > raid5 > raid0 说明:raid10毕竟盘数摆在那里放着,冗余必然由于raid1
- 读写性能从好到坏:raid0 > raid10 > raid5 > raid1 说明:raid0简单粗暴,raid0只需要走一层就可完成存储,而raid10则需要走完两层
- 成本(盘数)从低到高:raid0 < raid1 < raid5 < raid10
不同RAID级别的企业应用举例,根据数据的存储和访问的需求,去匹配对应的RAID级别。==>适用于互联网公司
- 单台服务器,很重要,盘不多,系统盘raid1。
- 数据库/存储服务器,主库raid10,从库raid5\ raid0(为了维护成本,raid10)
- web服务器,如果没有太多数据的话,raid5,raid0(单盘)。
- 有多台,监控\应用服务器,raid0,raid5。
3.8 制作硬件raid
raid技术有软件raid与硬件raid之分,考虑到性能,我们通常用硬件raid,这就需要使用raid卡了
有RAID卡后,一般磁盘就会插到RAID卡上,而不是直接插到主板上了,raid卡如下图所示
互联网公司服务器一般都会购买RAID卡(主板自带、独立RAID卡),RAID卡上也是有缓存的。
raid的制作过程见链接:
https://www.cnblogs.com/linhaifeng/articles/13921161.html
3.9 存储容量单位
容量单位
四 主板
4.1 主板介绍
所有的硬件设备及期接口都会被集成在一块电路板上,这块板子称之为主板
-
主板和CPU都是电脑中最关键的部件。
-
所有的板卡必须通过主板发挥作用,主板性能和质量的好坏直接影响到整个系统。
-
电脑主板按不同的架构标准和各种不同的主要部件、接口组合而成。
不同计算机厂商主板略有不同,下面我们来看三幅图主板,简单了解一下即可
电脑芯片分为两个部分(上北下南)
1、北桥:连接高速设备,cpu、内存等,影响系统性能
2、南桥:连接低速设备,如磁盘、usb接口、音频设备、以及其他pci设备,南桥会产生大量的数据流
PCI(Peripheral Component Interconnect)插槽
CMOS:是一个存储设备,用于存放BIOS配置的内容、系统事件等
CMOS电池:断电后给主板的CMOS供电
4.2 主板芯片组
主板芯片组是主板上最重要的部件,主板的功能主要取决于芯片组。芯片组负责管理CPU和内存、各种总线扩展以及外设的支持。
4.3 BIOS芯片
- BIOS (basic input output system ) 芯片(CMOS芯片):负责主板通电后各部件自检,设置,保存,一切正常后才能启动操作系统。记录了电脑最基本的信息,是软件与硬件打交道的最基础的桥梁,没有它电脑就不能工作。
- 常见的三种BIOS:Award、AMI、Phoenix
4.3 PCI槽
PCI-E x16插槽常用于插显卡,PCI-E X16插槽可以插所有PCI-E接口的显卡。
PCI扩展槽可以插
五 机箱
台式机机箱
服务器机箱

六 主板电源
计算机的电源相当于计算机的心脏,确保供电正常的方案如下
- 1、服务器双电源模块
-
2、电源模块的连接线接到不同的插件板上
-
3、UPS(不间断电源):UPS全名为Uninterruptable Power System(或Uninterruptable Power Supply),相当于一个蓄电池,相当于服务器的电池,就好比为我们的台式机配备了像笔记本电脑一样的电池,可以在突然断电的情况下,为电话供电一段时间,至于可能供电多久,具体得看ups的功率,在市电停掉的情况下,一般个人pc的ups可以成5到20分钟,服务器ups可以撑到几个小时,期间可以为运维人员腾出时间来解决电的问题。
京东UPS:https://search.jd.com/Search?keyword=UPS
-
4、生产中一般单个服务器核心业务最好使用双电源AB线路(由IDC机房提供双路电源,双路电源接到不同的市电电源)。如果集群(一堆机器做一件事)的情况可以不用双电源。
-
5、点背的话,双路电源全停,ups为服务器续命,续到一定时间ups也快没电了,咋整?通常机房会有小型柴油发电机来应急,一般机房会和附近的加油站签订紧急供油协议。
数据都是由程序先写在内存里,然后才会刷到磁盘中,俗称落盘,在落盘之前万一断电,数据就会丢失,解决的方法如下
a.服务器主板上安装蓄电池,在断电瞬间把内存数据回写到磁盘。
b.UPS(一组蓄电池)不间断供电(持续供电10分钟,IDC数据中心机房-UPS 1小时)。 UPS(Uninterruptible Power System/Uninterruptible Power Supply),即不间断电源,是将蓄电池(多为铅酸免维护蓄电池)与主机相连接,通过主机逆变器等模块电路将直流电转换成市电的系统设备。
c.选双路电的机房,使用双电源、分别接不同路的电,服务器要放到不同的机柜、地区。
d.柴油发电机+油罐,一般机房会和附近的加油站签订紧急供油协议。
了解阅读:
七 风扇组
- 功能:为CPU降温
- 作用:如果一开机CPU的温度就很高,时间长了搞不好就是一屡黑烟。然后你上千大元的CPU就完了,所以,选一个好的风扇是十分重要的。
八 服务器分类
8.1 按照尺寸分类
- 1U服务器(U表示服务器的厚度)1U=1.75英寸=4.445CM=4.45CM,如下
- 4U服务器(U表示服务器的厚度),如下
8.2 按照外形分类
(1)机架式服务器
机架式服务器的外形看来不像计算机,而像“抽屉”,有1U(1U=1.75英寸=44.45毫米)、2U、4U等规格。机架式服务器安装在标准的19英寸机柜里面。这种结构的多为功能型服务器。如下
机架式服务器如何放置?如果有机柜有托盘,直接放进去即可,如下图所示,如果没有,那么需要安装导轨,参考:https://haokan.baidu.com/v?vid=14778095985358153338
(2)刀片式服务器
刀片服务器的优势:https://wenku.baidu.com/view/478471a3f524ccbff12184a4.html
九 服务器品牌
常见品牌有
- dell(性价比高),Dell服务器的配置官网:http://china.dell.com/cn/business/p/servers
- IBM(高端,比较贵)
了解一些常用dell服务器型号,具体配置请自行查阅官网或问销售
代表图片:
- 1、dell R740 2U
- Dell R720
加上盖子
了解:去IOE运动
2013年5月17日,阿里集团最后一台IBM小机在支付宝下线。这是自2009年“去IOE”战略透露以来,“去IOE”非常重要的一个节点,什么是去IOE???
"IOE": I — IBM公司、O — Oracle公司、E — EMC公司
企业的数据库架构有三个不可或缺的部分: 数据库服务器、数据库软件、数据存储设备。而IOE这三家公司恰恰分别在这三个领域实现了垄断,造成的结果就是由这三驾马车构成的数据库系统占领了全球数据库市场的很大份额。
牵扯到数据安全以及数据设备成本的问题,有公司提出了"去IOE"运动:用PC服务器代替IBM服务器,用mysql替代Oracle。
了解:小型机(已经是过时的概念)与PC服务器的区别
IBM小型机
十 机房机柜里的服务器摆放
一般般的布线
下图是骨灰级机房布线图
对比一下专业的布局,自己心里面有点数
十一 远程管理卡
IDRAC远程控制卡作用有二
- 1、开关服务器,
- 2、查看服务器开关的过程等信息。
详细的介绍如下:
1、iDRAC卡相当于是附加在服务器上的一台独立运行的小型pc,通过与服务器主板上的管理芯片BMC进行通信,监控与管理服务器的硬件状态信息。它拥有自己的系统和IP地址,与服务器上的OS无关,是服务器管理员进行远程访问和管理的便利工具。
2、iDRAC分为 Express和Enterprise 两种版本,iDRAC Express 默认是用服务器1号网口来连接, iDRAC Enterprise默认使用专用网口连接。专用网口的位置可参考下图所示(不同机型存在差异)。R630, R730,R830,R930 默认均使用专用网口进行连接。
3、远程管理卡有服务器自带的,也有独立的。
服务器自带的远程管理卡,可以关机、开机,但是看不到开关的显示过程。所以,最好选择独立的远程管理卡,大概200块钱。有了远程管理卡就可以快速恢复服务。此外,大客户有KVM远程管理,特大客户会有自己的人员驻扎机房。
十二 服务器采购清单
下图是egon老师在公司所做ceph项目的服务器采购项目清单部分截图
一些注意的点比如
更多注意点,请看完整文档
链接: https://pan.baidu.com/s/1yekrEw9IIfPnS4CySKqNdQ 提取码: ewv1
十三 计算机体系三层结构与优化
13.1、三大核心硬件
与运行程序有关的三大核心硬件为
-
1、cpu
-
2、内存
-
3、硬盘
程序的运行与三大核心硬件的关系
13.2 三层结构
应用程序
操作系统
计算机硬件(cpu、内存、硬盘)
13.3、优化思想
应用程序可分为两类
针对计算机密集型程序,例如科学运算软件、金融类如比特币挖坑
我们通常的应用程序都是IO密集型,因为我们日常的软件大多数都离不开网络,网络IO比本地硬盘还慢,是典型的IO密集型软件
了解上述思想后,具体动手操作,我们应该围绕下述四个层次
13.4 buffer与cache
大家都说linux系统效率高,到底高在哪里呢?其中一个方面就是buffer与cache的设计
linux系统觉得我们日常内存都不会用满,所以它自作主张,会从free内存中借走一部分内存
这些借走的内存一部分用作buffer、一部分用作cache
buffer称之为缓冲区:linux系统会将要写入硬的数据先缓冲到buffer,然后一次性刷入硬盘,以此减少io次数
cache称之为高速缓存:linux系统会将硬盘读入内存的数据缓存到cache里,下次读的时候直接从cache取即可
cache空间可以随便清理,而buffer空间在清理之前最好先执行刷新命令