系统设备运行速度对比
CPU速度最快,硬盘最慢
虚拟内存=物理内存(RAM)+Swap空间(磁盘),虚拟内存分配由系统内核完成,对用户程序透明。
虚拟内存paging:虚拟内存的页面大小,将部分物理内存里面的内容换到swap空间中称为paging,在32位机器上为4K。
SWAP空间
swaping
buffer:当系统读取文件或有文件需要写到磁盘中,会在物理内存中保留一份数据,提供读写效率,处于内存中的这部分空间称为buffer。
cache:系统执行过程中,会在内存中保存进程的地址空间等信息,这部分空间就是cache。
buffer与cache的区别:buffer是和文件相关的数据,而cache是程序自身相关的数据。
Linux缓冲机制
缓冲区高速缓存
热机:特别是数据库测试需要先让硬盘上的数据导入到内存,例如select * from student先查询一遍。
性能测试一步步提高就是适应缓冲机制。
Linux交换机制
查看内存大小命令:free -m m是单位兆的意思;或者cat /proc/meminfo
824是系统空闲大小
cat /proc/meminfo
vmstat虚拟内存使用命令
vmstat
r:正在运行的进程数量(越低越好) b:阻塞的进程数量(越低越好)
si:换入 so:换出
bi:写入 bo:写出
in:中断 cs:上下文切换
vmstat 3 5 每过3秒钟打印一次,一共打印5次
vmstat 3 5
dstat
hiq:硬中断 siq:软中断
read:磁盘读 writ:磁盘写
recv:网络收到的数据量 send:网络发送的数据量
in:虚拟内存进来的数据量 out:虚拟内存出去的数据量
int:系统中断数量 csw:页面交换数量
dd if=dev/zero 零设备 dev/null 黑洞设备
dd if=/dev/zero of=tmp.log bs=100M conut=1 写一个100M大小的文件tmp.log
df -h 查看硬盘大小
df -h
dstat
memcheck监控内存
虚拟内存参数
配置swap分区使用比率
回写内存中的脏数据到硬盘
修改缓存大小
sysctl -a|grep vm查看虚拟内存参数
内存瓶颈分析