首页 > 系统相关 >12 Linux的伙伴系统和SLAB分配器

12 Linux的伙伴系统和SLAB分配器

时间:2023-04-28 17:46:57浏览次数:44  
标签:12 内存 分配器 Linux SLAB 伙伴 页面

伙伴系统: buddy

物理内存页面管理算法,最先源自Sun公司的 Solaris操作系统;Linux后来也引入了伙伴系统;

表示一个物理内存页面:

Linux定义了一个 page 结构体,大量使用了c的union联合体定义结构字段,其大小取决于结构体里面占用内存最大的变量决定;好处是信息量很多,占用内存很少;一个page结构表示一个物理内存页面;

该结构体通过 flags 表示它处于什么状态,根据不同的状态来使用union联合体的变量表示的数据信息;

表示一个区:

cat /proc/zoneinfo | grep Node 命令:查询本机的内存区;

zone数据结构表示一个区;

 

SLAB分配器:

为了分配更小的内存大小,

192原因:

 

标签:12,内存,分配器,Linux,SLAB,伙伴,页面
From: https://www.cnblogs.com/xuan01/p/17362511.html

相关文章

  • 嵌入式Linux的Qt
    链接:https://www.jianshu.com/p/99e620c678dc嵌入式Linux的Qt在嵌入式Linux系统上,可以使用多个平台插件:EGLFS,LinuxFB,DirectFB或Wayland。但是,这些插件的可用性取决于Qt的配置方式。EGLFS是许多主板上的默认插件。如果不合适,请使用QT_QPA_PLATFORM环境变量来请求另一个插件。......
  • Spring XML配置的12个技巧
    Spring是一个强有力的java程序框架,其被广泛应用于java的程序中。它用POJO提供了企业级服务。Spring利用依赖注入可以获得简单而有效的测试能力。Springbeans,依赖关系,以及服务所需要的bean都将在配置文件中予以描述,配置文件一般采用XML格式。然而XML配置文件冗长而不易使用,在你进......
  • paramiko遍历嵌套文件夹上传到linux服务器,并执行sh脚本
    场景:由于工作原因,开发打包后都要上传包到对应linux服务器,并执行对应shell脚本,替换包内配置文件,启动服务。换包频率过于频繁,因此需要实现一种不用打开xshell、xftp的方法,直接将包放在本地文件,双击exe运行所有操作,以节省时间,想到使用python的paramiko、pyinstaller模块实现。功......
  • 记录一下linux-kafka命令
    使用工具:puTTY下载地址:DownloadPuTTY-afreeSSHandtelnetclientforWindowsloginas:rootroot@*******'spassword:Lastlogin:FriApr2814:54:262023from10.10.16.80[root@kafka272c41~]#cd..[root@kafka272c41/]#ls-a....autorelabelbinboot......
  • Linux常用命令
    #uname-a#查看内核/操作系统/CPU信息#head-n1/etc/issue#查看操作系统版本#cat/proc/cpuinfo#查看CPU信息#hostname#查看计算机名#lspci-tv#列出所有PCI设备#lsusb-tv#列出所有USB设备#lsmod#列出加载的内核模块#env#查看环境变量#free-m#查看......
  • Linux开机启动服务配置
     chkconfig命令可以管理在7个不同级别下是否启动某个服务,建议manchkconfig,这是一个普通但必须掌握的命令。1、使用chkconfig--list命令观察ftp的启动状态,按照你的描述,应该是在35级别启动了。(若一页显示不完,可结合catmoreless之类的命令,或者利用管道符加grep过滤出vsft......
  • Linux中将memcached注册成服务并可以随机器启动时启动服务
    网上看了很多资料大多比较繁琐,而且很多不能再最新的centos6上执行成功,最后还是自己写了一份,以供日后备用:  1.首先是写service脚本service脚本需要进入到目录/etc/init.d中,然后touchmemcached,最后vimmemcached后进行脚本编写,脚本如下:#chkconfig:3456060#!/bin/bash......
  • Install Tcpping on Linux
    Tcpping 介绍 测试网络延迟最常用方法是使用ping工具,它使用ICMP协定。在某些情况下ICMP是被防火墙阻挡,这使得Ping在这情况下是无法使用的。此时为了能够继续监控的话,就必需使用TCP/UDP的方式,TCPPING为更容易绕过普通的防火墙规则的第3层测试工具。这样的一个第3层的测试工具TC......
  • 网安等保-国产Linux操作系统银河麒麟KylinOS-V10SP3常规配置、系统优化与安全加固基线
    [点击......
  • Linux 实用shell脚本
    1.查看有多少远程的IP在连接本机#!/bin/bash#!/bin/bash#查看有多少远程的IP在连接本机(不管是通过ssh还是web还是ftp都统计)#使用netstat‐atn可以查看本机所有连接的状态,‐a查看所有,#-t仅显示tcp连接的信息,‐n数字格式显示#LocalAddress(第四......