如何使用Linux的内存命令H? (linux 查看内存命令 -h)

作为一个Linux系统管理员或者开发人员,你肯定经常需要使用一些命令来监控和管理系统的内存使用情况。其中一个非常有用的命令是H命令,它是Linux内核中的一个内存映射文件,可以让你查看系统中内存使用的情况。本文就来介绍一下如何使用Linux的内存命令H。

H命令是什么?

让我们来了解一下H命令到底是什么。在Linux系统中,每个进程都有一个虚拟内存地址空间,用于保存进程的代码、数据和堆栈等信息。这个地址空间是被划分成许多页面的,每个页面的大小通常为4KB或者更大。这些页面的映射关系被保存在一个叫做Page Tables(页面表)的数据结构中,它描述了每个页面的物理地址和虚拟地址之间的映射关系。

H命令就是通过读取Page Tables来提供有关内存使用情况的信息的。它能够显示不同的内存区域,包括:

– Anon:匿名内存,没有文件映射的共享内存;

– Vmalloc:虚拟内存,动态内存分配;

– Slab:内核数据结构用到的页;

– Kernel:内核代码用到的页;

– PageTables:管理虚拟地址空间的页等。

在Linux内核中,H命令被实现为一个内核模块,可以通过modprobe命令加载。一旦加载H命令,你就可以使用它来监控系统的内存使用情况。

如何使用H命令?

现在,让我们来看看如何使用H命令。由于H命令是内核模块,因此在使用之前,你需要确保已经加载了该模块。在大多数Linux发行版中,该模块已经默认包含在内核中,并且不需要手动加载。你可以运行以下命令来检查H命令是否可用:

$ lod | grep kmem

如果输出中包含” kmem”字样,那么H命令就已经加载成功了。

一旦确认H命令已经加载成功,你就可以使用它来查看系统的内存使用情况了。下面是几个常用的命令行选项:

– -p:指定要监控的进程;

– -k:显示内核对象的内存使用情况;

– -t:按照不同的线程显示内存使用情况;

– -R:显示内存使用情况的增量,即显示自上次运行该命令以来内存使用情况的变化。

以下是使用H命令的一些示例:

$ H

显示系统中所有进程的内存使用情况。

$ H -p

显示指定进程的内存使用情况。

$ H -k

显示内核对象的内存使用情况。

$ H -t

按照线程显示内存使用情况。

$ H -R

显示内存使用情况的增量。

当你运行H命令时,它会在终端输出一些列关于内存使用情况的信息。下面是一个示例输出:

# cat /proc/meminfo | grep Huge

HugePages_Total: 0

HugePages_Free: 0

HugePages_Rsvd: 0

HugePages_Surp: 0

Hugepagesize: 2023 kB

# H

PID PPID UID User State RSS THNAME CMDLINE

1 0 0 root S 4 init /in/init splash

2 0 0 root S 0 kthrea [kthreadd]

# H -p 1

VMA Start End Size Private Shared RefCount Dirty Swp Anonymous Locked AnonHugePages KernelPageSize MMUPageSize

0xffff880007acf000 0xffff880007acf000 0xffff880007b3d000 0x000000000006a000 0x000000000006a000 0x0000000000000000 0x0000000000000001 0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000

# H -k

ADDRESS SIZE TYPE COUNT

ffffffff82c00000 262144 BootMe 1

DATA

ffffffffa0000000 524288 IPoIB 4

DATA

ffffffffa0040000 32768 CGroup 2

这些输出中包含了有关内存使用情况的各种信息,例如进程的PID、内存占用量、线程名称、VMA的起始地址和结束地址、VMA的大小、私有内存的大小、共享内存的大小、脏页的数量等等。

结论

相关问题拓展阅读:

[Linux]gdb查看内存区命令

GNU调试器(GNU Debugger, GDB)是一个开源的

源代码

级的调试工具,其性能优良、功能齐全、易于使用,在嵌入式系统开发过程中扮演着越来越重要的角色。接下来是我为大家收集的gdb查看内存区命令,希望能帮到大家。悔源盯

  gdb查看内存区命令

  用gdb查看内存

  格式: x /nfu

  说明

  x 是 examine 的缩写

  n表示要显示的内存单元的个数

  f表示显示方式, 可取如下值

  x 按

十六进制

格式显示变量。

  d 按

十进制

格式显示变量。

  u 按十进制格式显示无符号整型。

  o 按八进制格式显示变量。

  t 按

二进制

格式显示变量。

  a 按十六进制格式显示变量。

  i 指令地址格式

  c 按字符格式显示变量。

  f 按

浮点数

格式显示变量。

  u表示一个地址单元的长度

  b表示单字节,

  h表示双字节,

  w表示四字节,

  g表示八字节

  Format letters are o(octal), x(hex), d(decimal), u(unsigned decimal),

  t(binary), f(float), a(address), i(instruction), c(char) and s(string).

  Size letters are b(byte), h(halfword), w(word), g(giant, 8 bytes)

  举例

  x/3uh buf

  表示从内存地址buf读取内容,

  h表示以双字节为一个单位,

表示三个单位,

  u表示按十六进制显示

  例子:

  n是个局部变量

  Breakpoint 1, main (argc=1, argv=0xbffff3a4) at calc.c:7

int n = atoi(argv);

  (gdb) print &n

  $1 = (int *) 0xbffff2ec

  (gdb) x 0xbffff2ec

xbffff2ec: 0x00282ff4

 碧和 (gdb) print * (int *) 0xbffff2ec

  $2 =

  (gdb) x /4xw 0xbffff2ec

xbffff2ec: 0x00282ff4 0x080484e0 0xxbffff378

  (gdb) x /4dw 0xbffff2ec

xbffff2ec:5032

  (gdb)

看了“gdb查看内存区裂敏命令”还想看:

1. Linux使用dmidecode命令查看内存型号

2. Linux下查看CPU型号,内存大小,硬盘空间命令

3. 如何在Linux

命令行

中查看目录的大小

linux下查看硬盘大小的命令是什么?查看内存大小的命令?查看有几个CPU的命令?

查看硬盘:df

内存: free

cpu: cat /proc/cpuinfo

linux下查看硬盘大小的命令:

1、查看当前文件夹下所有文件敬余绝大小(包括子文件夹)

2、查看指定文件夹下所有文件大小(包括子文件夹)

3、查看指定文件大小

4、查看指定文件夹大小

二、

Ubuntu 查看磁盘空间大小毁李命令

df -h Df命令是linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息,命令格式: df -hl 显示格式为: 文件系统 容量 已用 可用 已用% 挂载点 Filesystem Size Used Avail Use% Mounted on /dev/hda2 45G 19G 24G 44% / /dev/hda1 494

Linux操作系统是基于UNIX操作系统发展而来的一种克隆系统,它诞生于1991 年的 10 月5 日(这是之一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系亮姿统,并且使用人数还在迅猛增长。

free -g 是以G为单位查看内存大小

关于linux 查看内存命令 -h的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 如何使用Linux的内存命令H? (linux 查看内存命令 -h)