Linux内核需要为临时对象如任务或者设备结构和节点分配内存,缓存分配器管理着这些类型对象的缓存。现代Linux内核部署了该缓存分配器以持有缓存,称之为片。不同类型的片缓存由片分配器维护。本文集中讨论slabtop命令,该命令显示了实时内核片缓存信息。

1.命令用法:

该命令用起来很简单,默认执行时不要求任何参数。但是它要求root特权来读取内核片信息。以普通用户执行该命令会出现以下错误:

你可以在前面设置“sudo”来运行该命令,默认输出见下图:

要退出slabtop,只需敲‘q’,就像在top命令中那样。

 OBJS ACTIVE  USE OBJ SIZE  SLABS OBJ/SLAB CACHE SIZE NAME
96000 91833 95% 1.00K 6000 16 96000K xfs_inode

共 6000个slab

每个slab包含16个对象

共 96000个对象

对象的size是1K

所以CACHE SIZE是96000K

ACTIVE #:指对象中活跃的数量

CACHE SIZE #:是占用的内存大小

NAME #:内存项的名字

汇总信息中:

Active / Total Size (% used) : 390763.29K / 406922.94K (96.0%)

这一项是slab活跃项占用内存的大小/总的内存使用的大小

2.Slabtop选项:

2.1 显示间隔:

默认情况下,slabtop每隔3秒刷新一次。但是,如果你想要调整,可以使用-d或者--delay=N选项来调整刷新间隔,以秒为单位:

2.2 排序标准:

在slabtop输出中有很多字段,-s或--sort=S选项可以根据指定的排序标准对这些字段排序。该选项将在下一节中详细讲述。

2.3 输出一次:

-o或--once选项不会刷新输出,它仅仅将一次输出结果丢给STDOUT,然后退出。

2.4 版本信息:

-V或--version选项显示命令的版本并退出。

2.5 帮助:

常见选项,-h或--help显示命令的使用帮助。

3.排序标准:

排序标准确定了哪个片缓存显示在顶部,下面是slabtop的排序标准:

3.1 活跃:

缓存可以通过‘a’来对活跃对象编号进行排序。

3.2 对象/分片:

每分片对象数可以使用“b”来选择。

3.3 缓存大小:

要选择缓存大小,你需要提供“c”选项。

3.4 分片:

分片数量,使用“l”来选择。

3.5 活跃分片:

活跃分片数量。(注意:这不同于上面讲得活跃对象数量。)使用“v”来根据该标准排序。

3.6 名称:

缓存名称。相关字符是“n”。

3.7 对象:

要根据对象数量排序,使用“o”。

3.8 每分片页面数:

“p”将根据每分片页面数排序。

3.9 对象大小:

对象大小排序由“s”来指定。

3.10 使用:

“u”选项根据缓存使用量排序。

linux内核 快速分片,技术|Linux slabtop命令——显示内核片缓存信息的更多相关文章

  1. Linux slabtop命令——显示内核片缓存信息

    Linux内核需要为临时对象如任务或者设备结构和节点分配内存,缓存分配器管理着这些类型对象的缓存.现代Linux内核部署了该缓存分配器以持有缓存,称之为片.不同类型的片缓存由片分配器维护. slabt ...

  2. Autojump:一个可以在 Linux 文件系统快速导航的高级 cd 命令

    相关博客:https://linux.cn/article-3401-1.html 对于那些主要通过控制台或终端使用 Linux 命令行来工作的 Linux 用户来说,他们真切地感受到了 Linux ...

  3. linux中date命令显示昨天的日期信息?以特定格式显示时间?

    需求描述: linux环境中,在使用date命令的时候,可以通过-d指定日期的字符串来显示日期 操作过程: 1.通过date显示昨天的日期 [root@redhat6 ~]# date -d 'yes ...

  4. 【Linux系列汇总】小白博主的嵌入式Linux实战快速进阶之路(持续更新)

    我把之前在学习嵌入式Linux和工作中遇到问题和相关经验等,一起整理到这里,方便自己查阅和学习,温故而知新,如果能帮助到您,请帮忙点个赞: 本文的宗旨 嵌入式Linux 的项目通常需要一个团队来开发, ...

  5. Linux:file命令显示自定义文件类型

    file 命令可以查看文件类型信息,原理见: 非常Linux-file命令与magic file 修改 /ect/magic 文件后,可用 file 命令显示自定义文件类型信息. man magic ...

  6. 虚拟化–操作系统级 LXC Linux Containers内核轻量级虚拟化技术

    友情提示:非原文链接可能会影响您的阅读体验,欢迎查看原文.(http://blog.geekcome.com) 原文地址:http://blog.geekcome.com/archives/288 软 ...

  7. 深入理解Linux网络技术内幕——用户空间与内核空间交互

    概述:     内核空间与用户空间经常需要进行交互.举个例子:当用户空间使用一些配置命令如ifconfig或route时,内核处理程序就要响应这些处理请求.     用户空间与内核有多种交互方式,最常 ...

  8. Linux的桌面虚拟化技术KVM(五)——virsh常用命令

    Linux的桌面虚拟化技术KVM(一)——新建KVM虚拟机 Linux的桌面虚拟化技术KVM(二)——远程桌面管理 Linux的桌面虚拟化技术KVM(三)——KVM虚拟机克隆和快照 Linux的桌面虚 ...

  9. 转:Linux网络IO并行化技术概览

    转:http://codinginet.com/articles/view/201605-linux_net_parallel?simple=1&from=timeline&isapp ...

  10. 新手学习Linux之快速上手分析

    一.起步 首先,应该为自己创造一个学习linux的环境--在电脑上装一个linux或unix 问题1:版本的选择 北美用redhat,欧洲用SuSE,桌面mandrake较多,而debian是技术最先 ...

随机推荐

  1. 【MySQL】二级MySQL考试 救场帮助表

    周六去考二级,应用第一题就是添加外键约束 草,写了半天老说语法不对,然后急中生智,觉得默认的库里应该有文档说明表 以下是SQL查询过程: -- 猜测是在mysql库里面 mysql> USE m ...

  2. 【Web】 抓包工具Charles

    官方软件包下载 https://www.charlesproxy.com/download/ 在线生成激活码: https://www.zzzmode.com/mytools/charles/ 代理设 ...

  3. 【转载】 校正Ubuntu时间为北京时间

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_37421762/article/de ...

  4. 【转载】 【WarpDrive】GPU加速RL: 一块V100运行上千个智能体、数千个环境,这个「曲率引擎」框架实现RL百倍提速

    原文地址: https://mp.weixin.qq.com/s/Vw39k2PteEIGLRhmh2raLQ ============================================ ...

  5. Linux中scanf类型匹配错误,特指scanf("%d", &c ) ,导致死循环的解决方法 —— fflush(stdin)和getchar()的使用

    如题,朋友领导的孩子大学作业是个C语言编写的管理信息系统发来要我给改改,原代码的配置环境是Windows的C环境,由于10多年没有搞过Windows下的C语言了于是换上了Ubuntu18.04的系统上 ...

  6. QWen2-72B-Instruct模型安装部署过程

    最近在给我们的客户私有化部署我们的TorchV系统,客户给的资源足够充裕,借此机会记录下部署千问72B模型的过程,分享给大家! 一.基础信息 操作系统:Ubuntu 22.04.3 LTS GPU: ...

  7. Ambiguous Mapping 的处理方法

    出现原因:两个不同的Controller 中出现相同映射路径 eg: AController:/v1/wdnmd/userList/list BController:/v1/wdnmd/userLis ...

  8. GOT & PLT 易于理解的个人笔记

    为什么我们用动态链接和GOT表 我们知道静态链接就没那么多事,直接把全部要用的函数都绑定在一起,各个变量和函数之间的偏移量当然能算出来. 但是这也恰恰是静态链接的缺点,相同的代码段反复调用真是太臃肿了 ...

  9. 附038.Kubernetes_v1.30.3高可用部署架构二

    部署组件 该 Kubernetes 部署过程中,对于部署环节,涉及多个组件,主要有 kubeadm .kubelet .kubectl. kubeadm介绍 Kubeadm 为构建 Kubernete ...

  10. Java 开发者必备:一文解决 AES 加密中的“非法密钥大小”异常

    彻底告别 java.security.InvalidKeyException,轻松应对不同 JDK 版本 引言 在 Java 开发过程中,我们经常会遇到各种各样的安全相关的问题.其中一个常见的问题是当 ...