系统IO:Linux系统提供给应用程序操作文件的接口 Everything is a file ,in Unix 在Unix/Linux下,万物皆文件 打开文件函数原型: #include<sys/types.h> #include<sys/stat.h> #include<fcntl.h> int open(const char *path, int flag); int open(const char *path, int flag, mode_t mode);…
1. vmstat 能够展现给定时间间隔的server的状态值,包含server的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况 vmstat 2 10 2: 每隔2s 10 : 统计10次 2. res procs ---–memory---- -swap– -–io-- -system– --cpu-– r b swpd free buff cache si so bi bo in cs us sy id wa st 1 5 0 173436 591640 8272204 0 0 6…
$ cat /proc/diskstats sda sda1 sda2 gg- gg- gg- 主号 次号 名称 成功读 合并读 扇区读 读时间 每一列的含义分别为: 第一列为 设备号 (number of issued reads. This is the total number of reads completed successfully.) 第二列为 次设备号 (number of reads merged) 第三列为 设备名称 (number of sectors read.…
1. IO处理过程 磁盘IO经常会成为系统的一个瓶颈,特别是对于运行数据库的系统而言.数据从磁盘读取到内存,在到CPU缓存和寄存器,然后进行处理,最后写回磁盘,中间要经过很多的过程,下图是一个以write为例的 Linux 磁盘IO子系统的架构: 可以看到IO操作分成了四个层面: 1)文件系统缓存:处理数据必须先从磁盘读到缓存,然后修改,然后刷会磁盘.缓存的刷新涉及到两个参数:vm.dirty_background_ratio.vm.dirty_ratio.还有刷新写回时,使用到 bio 结构,…