首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux 内核 内存管理】物理内存组织结构 ④ ( 内存区域 zone 简介 | zone 结构体源码分析 | zone 结构体源码 )

内存管理系统 3 级结构 : ① 内存节点 Node , ② 内存区域 Zone , ③ 内存页 Page , Linux 内核中 , 使用 上述 3 级结构 描述 和 管理 " 物理内存 "...; 一、内存区域 zone 简介 ---- " 内存节点 " 是内存管理的 最顶层结构 , " 内存节点 " 再向下划分 , 就是 " 内存区域 " zone , " 内存区域 " 在 Linux 内核中使用...struct zone 结构体类型进行描述 , zone 枚举定义在 Linux 内核源码的 linux-4.12\include\linux\mmzone.h#350 位置 ; 每个 " 内存区域...zone_start_pfn; 6、managed_pages、spanned_pages、present_pages成员 managed_pages 表示 " 伙伴分配器 " 管理的 物理页数量...; 源码路径 : linux-4.12\include\linux\mmzone.h#350

4.5K30

Linux内存描述之内存区域zone--Linux内存管理(三)

但是Linux内核又把各个物理内存节点分成个不同的管理区域zone, 这是为什么呢? 因为实际的计算机体系结构有硬件的诸多限制, 这限制了页框可以使用的方式....一个管理区(zone)由struct zone结构体来描述,在linux-2.4.37之前的内核中是用typedef struct zone_struct zone_t数据结构来描述) 管理区的类型用zone_type...一个管理区(zone)由struct zone结构体来描述(linux-3.8~目前linux4.5),而在linux-2.4.37之前的内核中是用struct zone_struct数据结构来描述...互斥访问的锁(LOCKS)等. 4.1 struct zone管理域数据结构 struct zonelinux/mmzone.h中定义, 在linux-4.7的内核中可以使用include/linux...5 管理区表zone_table与管理区节点的映射 内核在初始化内存管理区时, 首先建立管理区表zone_table. 参见mm/page_alloc.c?

9.3K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    物理内存管理zone详解

    我们本节则重点学习下ZONE,重点是ZONE的数据结构,其中就可以看到ZONE中是如何管理我们page的,就会看到buddy分配器。...0 nr_zone_active_anon 104777 nr_zone_inactive_file 0 nr_zone_active_file 0 nr_zone_unevictable...而我们zone是通过struct pglist_data管理的,pglist_date结构每个node是对应一个的,在numa机器上每个node对应一个pglist_data结构体,在Uma机器上只有一个...: 描述此node下存在几个zone node_zonelist: 备用zone的list,当首选的zone去分配失败后,就会去备用zone去查找可用的page totalreserve_page: 保留的总共的...通过pglist_data知道存在几个zone,每个zone中又存在freelist来表示各个order空闲的page,以及各个page是属于什么迁移类型的 当申请page的时候根据zone中的水位去申请

    3.5K10

    Linux 内核 内存管理】物理内存组织结构 ⑤ ( 内存区域 zone 类型简介 | 内存区域类型zone_type 枚举源码分析 | zone_type 枚举源码 )

    普通内存区域 4、ZONE_HIGHMEM 高端内存区域 5、ZONE_MOVABLE 可移动区域 6、ZONE_DEVICE 设备区域 三、zone_type 枚举源码 内存管理系统 3 级结构 :...① 内存节点 Node , ② 内存区域 Zone , ③ 内存页 Page , Linux 内核中 , 使用 上述 3 级结构 描述 和 管理 " 物理内存 " ; 一、内存区域 zone 类型简介...---- " 内存节点 " 是内存管理的 最顶层结构 , " 内存节点 " 再向下划分 , 就是 " 内存区域 " , " 内存区域 " 的类型 在 Linux 内核中使用 enum zone_type...枚举类型进行描述 , zone_type 枚举定义在 Linux 内核源码的 linux-4.12\include\linux\mmzone.h#293 位置 ; 二、内存区域类型 zone_type..., #endif ZONE_MOVABLE, #ifdef CONFIG_ZONE_DEVICE ZONE_DEVICE, #endif __MAX_NR_ZONES }; 源码路径 : linux

    2.1K20

    Linux 内核 内存管理】分区伙伴分配器 ⑤ ( 区域水线 | 区域水线数据结构 zone_watermarks 枚举 | 内存区域 zone 中的区域水线 watermark 成员 )

    文章目录 一、区域水线 二、区域水线数据结构 zone_watermarks 枚举 ( WMARK_MIN | WMARK_LOW | WMARK_HIGH | NR_WMARK ) 三、内存区域 zone...枚举 ( WMARK_MIN | WMARK_LOW | WMARK_HIGH | NR_WMARK ) ---- 区域水线对应的数据结构 定义在 linux 内核源码的 linux-4.12\include...\linux\mmzone.h#255 位置 , 是一个枚举 ; enum zone_watermarks { WMARK_MIN, WMARK_LOW, WMARK_HIGH, NR_WMARK...}; 源码路径 : linux-4.12\include\linux\mmzone.h#255 三、内存区域 zone 中的区域水线 watermark 成员 ---- " 内存区域 " struct...]; } 源码路径 : linux-4.12\include\linux\mmzone.h#354

    1.9K10

    光纤交换机zone配置

    目录 一、CentOS下查看PortName 二、AIX下查看WWN Name 三、光交zone配置 1、连接交换机 2、新建zone 3、删除zone 一、CentOS下查看PortName 1、命令...查看系统中有效的光纤卡 $ lsdev -Cc adapter -S a | grep fcs 2、查看光纤卡WWN Name $ lscfg -vl fcs[N] $ fcstat fcs[N] 三、光交zone...2、新建zone (1)查看交换机端口占用情况:switchshow (2)查看已配置成功的zone:zoneshow (3)新建zone:zonecreate “zone名”, “端口号; 端口号”...(4) 向已有配置文件中增加zone : cfgadd “配置文件名”, “zone名” SW6505:admin> cfgadd "abc", "myzone" (5)启动配置文件:cfgenable...“配置文件名” SW6505:admin> cfgenable "abc" (6)保存配置:cfgsave SW6505:admin> cfgsave (7)查看zone是否配置成功:zoneshow

    2.3K20

    Linux - Linux内存管理

    从内核的角度来查看内存的状态 从应用层的角度来看系统内存的使用状态 缓冲区(buffer)与缓存(cache)的异同 交换空间的使用 创建交换空间 激活和使用交换空间 移除交换空间 ---- 概念 内存管理是...Linux系统重要的组成部分。...Linux的内存管理采取的是分页存取机制。为了保证物理内存能得到充分的利用,内核会在适当的时候将物理内存中不经常使用的数据块自动交换到虚拟内存中,而将经常使用的信息保留到物理内存中。...要深入了解Linux内存运行机制,需要知道下面提到的几个方面。 首先,Linux系统会不时地进行页面交换操作,以保持尽可能多的空闲物理内存。...Linux下可以使用文件系统中的一个常规文件或者一个独立分区作为交换空间。同时Linux允许使用多个交换分区或者交换文件。

    52.3K41

    linux学习第三十一篇:iptables规则备份和恢复,firewalld的9个zone,firewalld关于zone的操作,firewalld关于service的操作

    ,默认zone为public。...zone是firewalld的默认单位,每个zone就好比一个规则集,就是zone里自带了一些规则。 9个zone: drop(丢弃):任何接收的网络数据包都被丢弃,没有任何回复。...查看所有zone: firewall-cmd –get-zones 查看默认zone: firewall-cmd –get-default-zone firewalld关于zone的操作 设定默认...zone: firewall-cmd –zone=public –add-interface=lo 针对网卡更改zone: firewall-cmd –zone=dmz –change-interface...zone下面(只是保存在内存中,下次重启就会失效): firewall-cmd –zone=public –add-service=http 把http从public zone下面删除:

    702100

    Linux服务管理 — 80、Linux系统服务管理总结

    目录 1、Linux服务管理总结 2、Linux系统服务优化 1、Linux服务管理总结 (1)RPM包默认安装的服务 1)独立的服务 启动 @1、使用/etc/init.d/目录中脚本启动服务,如:...@3、使用ntsysv令管理服务自启动。...服务管理的核心原则,如果你不知道这个服务是干什么的,你就别动他。 下面表中是Linux中常见的服务,可以作为参照,按需进行优化。 服务名称 功能说明 建议 acpid 电源管理接口。...通过这个服务来管理网络,所以开启。 开启 nfs NFS(Network File System)服务,LinuxLinux之间的文件共享服务。需要就开启,否则关闭。...可以让Linux和Windows之间享数据。如果需要则开启。 关闭 squid 代理服务的守护进程。如果需要则开启,否则关闭。 关闭 sshd ssh加密远程登陆管理的服务。

    4.3K40

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券