简介
内存和磁盘都是计算机中的存储器,都具有存储功能,属于存储设备。在计算机中,磁盘和内存是相互配合共同作业的。
区别:
1、内存是一种高速,造价昂贵的存储设备;而磁盘速度较慢、造价低廉。
2、内存属于内部存储设备,磁盘属于外部存储设备。
3、内存是通过电流来实现存储;磁盘是通过磁记录来实现存储。所以电脑断电后,内存中的数据会丢失,而磁盘中的数据可以长久保留。
内存
内存是程序与CPU进行沟通的桥梁。计算机中所有程序的 运行都是在内存中进行的。
其作用是存放CPU中的运算数据,以及与硬盘等外部存储设备交换的数据。只要计算机 在运行中CPU就会把需要运算的数据调到内存中进行运 算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行。
磁盘
磁盘(disk)是指利用磁记录技术存储数据的[存储器]存储器。
磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失。
磁盘是一个块设备,可以划分为不同的分区;在分区之上再创建文件系统,挂载到某个目录,之后才可以在这个目录中读写文件。
内存管理相关命令
内存 :free
free -h //以更友好的方式显示,会以K、M、G为单位来显示 free -m //以M单位打印结果
解释:
Mem:内存使用情况。
Swap:交换空间(虚拟内存)使用情况。
total:系统总共可用物理内存、交换空间大小。
used:已经被使用的物理内存、交换空间大小。
free:剩余可用物理内存、交换空间大小。
shared:被共享使用的物理内存大小。
buff/cache:被 buffer 和 cache 使用的物理内存大小。
available:还可以被应用程序使用的物理内存大小。
查看磁盘信息
df(disk file)+ -h(human-readable)
查看硬盘磁盘IO
每两秒取样一次,一共取样三次。
磁盘块设备分布:
rkB /s:每秒读取数据量kB;
wkB/s:每秒写入数据量kB;
svctm I/O:请求的平均服务时间,单位毫秒
await I/O:请求的平均等待时间,单位毫秒,值越小,性能越好
util:一秒钟有百分几的时间用于I/O操作。接近100%时,表示磁盘带宽跑满,需要优化程序或者增加磁盘;
rkB/s,wkB/s根据系统应用不同会有不同的值,但有规律遵循:长期、超大数据读写,肯定不正常,需要优化程序读取。
svctm的值与await的值很接近,表示几乎没有I/O等待,磁盘性能好,如果await的值远高于svctm的值,则表示I/O队列等待太长,需要优化程序或更换更快磁盘
通过pidstat -d 也可以查看磁盘IO信息
- PID:进程id
- kB_rd/s:每秒从磁盘读取的KB
- kB_wr/s:每秒写入磁盘KB
- kB_ccwr/s:任务取消的写入磁盘的KB。当任务截断脏的pagecache的时候会发生。
- iodelay:任务的I/O阻塞延迟,以时钟周期为单位,包括等待同步块 I/O 和换入块 I/O 结束的时间
- COMMAND:task的命令名