固态硬盘,机械硬盘,交换内存?
一、固态硬盘(SSD)和机械硬盘(HDD)的区别二、交换内存一、固态硬盘(SSD)和机械硬盘(HDD)的区别
前置知识
如图所示,需要知道计算机存储的工作原理:
计算机先从硬盘中读取数据
数据从硬盘进入内存条
cpu往内存条中取数据进行运算
所以对于计算机而言,硬盘的读取速度决定着平台的启动速度,而不是CPU以及内存条。
读取速度:
如果你想要快速开机,有快速启动大型游戏的需求,可以将主程序装载在固态硬盘中
如果有照片、电影这种对读取速度没显性需求的数据,当然首选机械硬盘,便宜又大碗
读取次数:
固态硬盘的读取次数有限,机械硬盘的读取次数可以说是无限次
注意: 请记住一个重要的细节,即仅对使用机械硬盘驱动器的系统建议使用交换内存。 对于使用固态驱动器的系统,从长远来看,创建交换存储器分区会导致硬件性能下降。 这会缩短SSD的使用寿命,并可能会导致内存故障。因为SSD的读取次数有限
二、交换内存
交换内存什么时候起作用???
当RAM(内存)空间使用值达到峰值时,此时系统会的响应速度会降低,并且有些进程会因为内存空间不足,发送OOM的错误,为了解决此问题,引入了交换内存;
什么是交换内存??
For most systems, it is common to come across a term known as ‘virtual memory’ in the memory properties.Virtual memory is the space on the system which is equal to the sum of the RAM and swap memory in Linux.(在Linux中,虚拟内存是系统上的空间,等于RAM和交换内存之和)
Almost all modern Linux systems declare a swap partition by default to prevent memory overflow situations.
Hence, it may be essential for a Linux user to check the virtual and swap memory allocation on their system. This can help in deciding whether you wish to increase or reduce the swap partition as per your requirements.
我们注意到交换内存是虚拟内存的一部分
要检查系统上的总虚拟内存分配和利用率,请在终端中键入以下命令。
free -h
虚拟内存和物理内存
物理内存就是由内存条组成的,读写速度低于cpu一个量级,但是高于磁盘不止一个量级
虚拟内存则是虚拟出来的、使用磁盘代替内存
。虚拟内存的出现,让机器内存不够的情况得到部分解决。当程序运行起来由操作系统做具体虚拟内存到物理内存的替换和加载(相应的页与段的虚拟内存管理)
In the event of the RAM storage nearing its limit, the OS needs to prioritize processes that get to utilize this memory. Hence, the OS selects the old data or processes which may be dormant to free up the RAM.
这句话意思是,当内存空间不足时,操作系统会对使用物理内存的进程(应用程序)进行优先级排序,操作系统会选择低优先级(可能处于休眠状态的旧数据或进程
)来释放RAM,
也就是说低优先级的进程就存放到了交互内存中,当需要存放在交换内存中的进程时,又再重新加载到物理内存中,否则它不会主动交换到真是内存中。
Linux中Swap
当用户提交程序,然后产生进程,在机器上运行。机器会判断当前物理内存是否还有空闲允许进程调入内存运行,如果有那么则直接调入内存进行运行;如果没有,那么会根据优先级选择一个进程挂起,把该进程交换到swap中等待,然后把新的进程调入到内存中运行。根据这种换入和换出,实现了内存的循环利用,让用户感觉不到内存的限制。从这也可以看出swap扮演了一个非常重要的角色,就是暂存被换出的进程。
内存与swap之间是按照内存页为单位来交换数据的,一般Linux中页的大小设置为4kb。而内存与磁盘则是按照块来交换数据的。