linux系统调优的内存管理
原创
©著作权归作者所有:来自51CTO博客作者19ji89ng的原创作品,请联系作者获取转载授权,否则将追究法律责任
内存管理:
分为: 逻辑地址空间: linux很少用到
物理地址空间
线性地址空间:虚拟
为了更好的分配地址空间内存将其分成页page:
页page:为了让线性地址空间映射成物理的,一页一般4K
叶框 page frames:存放页的 4k
页表page table: 数据结构,描述每一个页所对应的叶框的位置,不至
于造成数据修改时的混乱
每个进程都有自己的页表,每一行记录为page table entry:PTE
解释:
MMU:内存管理单元:实选线性地址空间根据页表转换成物理地址空间 ,每一次的
转换都需要花费一定的时间,可以让TLB解决,TLB实现缓存MMU装换的结果,节省时间,提高
效率
虚拟内存管理:
buddy allocator: 避免外碎片 ,在内存中产生
slab allocator:内碎片 在内存的叶框中产生,重用解决
slabtop 查看系统的slab
kswapd 将物理内存的一些数据放到交换分区中(交换分区swap)
bdflush :将内存中未同步的数据同步到磁盘中。当数据不在内存中,而
在磁盘中,修改页时会保存到内存中,
脏页dirty page:在内存中没有同步到磁盘上的页
用户访问文件--通过inode号---inode表---找到对应的磁盘位置
提高文件的响应能力: dentry cache-->缓冲池
数据分为:metadata 元数据:在inode表的inode项里
data
ext2上:没有记录日志,
文件的存储:现存元数据再存文件,可能会造成数据的不完整,
元数据和数据不一致 ,数据的自检会花费很长时间
ext3:启用日志功能journal,数据在存到磁盘前先写到日志中,同步后
,然后会在日志中删除数据
dumpe2fs /dev/sda1 查看分区的详细信息,是否有碎片等
ext3模式:
journal 数据和元数据都写进日志中,同步磁盘中再删除
ordered 默认模式 只写元数据 ,但会确保数据的同步
writeback 性能最好,一致性最差 元数据写到日志里就认为数据完成,不管数据是否和磁盘的同步
mount -o data={ordered|writeback|journal}
上一篇:linux系统调优的进程管理
下一篇:linux系统调优的I/O管理
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Linux系统性能调优技巧
本文简要介绍了Linux系统性能调优的一些技巧。
文件系统 缓存 页面缓存 -
linux系统调优的I/O管理 内存管理 进程管理
I/O设备: I/O总线:连接cpu和I/O设备的 组成:  
linux 内存管理 调优 进程管理 I/O管理 -
linux系统调优的进程管理
驱动工作在内核,没有做进内核,程序, kernel内存管理 &nbs
linux 职场 进程 休闲 -
Linux 下的内存管理与调优
test, 整理后再写。
Linux 程序 操作系统 -
linux系统调优的I/O管理
I/O和I/O端口:65536多个端口 用户进程执行的动作: &nb
linux I/O 休闲 I/O管理 系统调优 -
关于Linux性能调优之内存负载调优
整理一些Linux内存调优的笔记,分享给小伙伴博文没有涉及的Demo,理论方法偏多,可以用作内存调优入门博文内容
linux 服务器 运维 内存调优 github -
linux内存子系统调优Linux