linux mem是什么意思

linux中,mem是指物理内存,是由于安装内存条而获得的临时储存空间,主要作用是在计算机运行时为操作系统和各种程序提供临时储存。linux系统的物理内存被划分为许多相同大小的部分,也称作内存页;内存页的大小取决于CPU的架构和操作系统的配置,一般为4KB。

linux mem是什么意思

本教程操作环境:linux7.3系统、Dell G3电脑。

linux mem是什么

mem 是物理内存,是指由于安装内存条而获得的临时储存空间。 主要作用是在计算机运行时为操作系统和各种程序提供临时储存。

当物理内存即将溢出时,会将内存中不常用的内存转移到SWAP中 等到物理内存空余,并且swap的内存活跃后才转移回来

free -m

mem:表示物理内存统计

buff/cache:表示物理内存的缓存统计

swap:表示硬盘上交换分区的使用情况

系统当前真正可用的内存并不是第一行 free 标记的,他仅代表未被分配的内存

1.png

系统的物理内存被划分为许多相同大小的部分,也称作内存页。内存页的大小取决于CPU的架构和操作系统的配置,一般为4KB。物理内存的使用主要分为以下几方面:

(1)内核使用

        操作系统启动时,位于/boot目录下的压缩内核文件会被加载到内存中并解压。这部分内容在系统允许期间都会常驻在内存的起始位置。

(2)slab分配器       

        操作系统的运行还需要更多的空间来分配给管理进程、文件描述符、socket和加载的内和模块等内容。所以内核会通过slab分配器动态分配内存。

 PS:slab是Linux操作系统的一种内存分配机制。其工作是针对一些经常分配并释放的对象,如进程描述符等,这些对象的大小一般比较小,如果直接采用brk系统调用来进行分配和释放,不仅会造成大量的碎片,而且也会影响性能。而slab分配器是基于对象进行管理的,相同类型的对象归为一类(如进程描述符就是一类),每当要申请这样一个对象,slab分配器就从一个slab列表中分配一个这样大小的单元出去,而当要释放时,将其重新保存在该列表中,而不是直接返回给操作系统,从而避免这些出现内存碎片。slab分配器并不丢弃已分配的对象,而是释放并把它们保存在内存中。当以后又要请求新的对象时,就可以从内存直接获取而不用重复初始化。可以在/proc/meminfo中查看当前slab分配器中的内存大小。

2.png

(3)进程使用        

        除去内核使用的部分,所有的进程都需要分配物理内存页给它们的代码、数据和堆栈。进程消耗的这些物理内存被称为“驻留内存”,RSS。

(4)页缓存page cache

        除去在内核和进程使用的部分,物理内存剩下的部分被称为页缓存,page cache。因为磁盘io的速度远远低于内存的访问速度,所以为了加快访问磁盘数据的速度,页缓存尽可能的保存着从磁盘读入的数据。page cache中还有一部分称为buffer,它的作用是缓存要写入到磁盘的数据。

        页缓存的大小是在一直动态变化的。当系统内存充足时,页缓存会一直增大;当系统free内存不足时,这时如果有进程申请内存,操作系统会从page cache中回收内存页进行分配,如果page cache也已不足,那么系统会将当期驻留在内存中的数据置换到事先配置在磁盘上的swap空间中,然后空出来的这部分内存就可以用来分配了。这就是swap交换。

PS:出现swap交换时,数据被置换到swap空间后(swap out),该进程使用的内存量下降,在atop等监控工具中的RGROW列为负值,但这并不表示该进程释放了内存,当它需要时,这部分数据又会被换入到内存中(swap in)。另外, swap交换往往会带来磁盘IO的大量消耗,严重影响到系统正常的磁盘io。出现大量的swap交换说明系统已经快要不行了,需要重点关注。

查看 Linux 物理内存的方法

方法-1:使用 free 命令

free 显示系统中空闲和已用的物理内存和交换内存的总量,以及内核使用的缓冲区和缓存。它通过解析 /proc/meminfo 来收集信息。

建议阅读: free – 在 Linux 系统中检查内存使用情况统计(空闲和已用)的标准命令

$ free -m              total        used        free      shared  buff/cache   availableMem:           1993        1681          82          81         228         153Swap:         12689        1213       11475$ free -g              total        used        free      shared  buff/cache   availableMem:              1           1           0           0           0           0Swap:            12           1          11

方法-2:使用 /proc/meminfo 文件

/proc/meminfo 是一个虚拟文本文件,它包含有关系统 RAM 使用情况的大量有价值的信息。

它报告系统上的空闲和已用内存(物理和交换)的数量。

$ grep MemTotal /proc/meminfoMemTotal:        2041396 kB$ grep MemTotal /proc/meminfo | awk '{print $2 / 1024}'1993.55$ grep MemTotal /proc/meminfo | awk '{print $2 / 1024 / 1024}'1.94683

方法-3:使用 top 命令

top 命令是 Linux 中监视实时系统进程的基本命令之一。它显示系统信息和运行的进程信息,如正常运行时间、平均负载、正在运行的任务、登录的用户数、CPU 数量和 CPU 利用率,以及内存和交换信息。运行 top 命令,然后按下 E 来使内存利用率以 MB 为单位显示。

建议阅读: TOP 命令示例监视服务器性能

$ toptop - 14:38:36 up  1:59,  1 user,  load average: 1.83, 1.60, 1.52Tasks: 223 total,   2 running, 221 sleeping,   0 stopped,   0 zombie%Cpu(s): 48.6 us, 11.2 sy,  0.0 ni, 39.3 id,  0.3 wa,  0.0 hi,  0.5 si,  0.0 stMiB Mem : 1993.551 total,   94.184 free, 1647.367 used,  252.000 buff/cacheMiB Swap: 12689.58+total, 11196.83+free, 1492.750 used.  306.465 avail Mem   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                                         9908 daygeek   20   0 2971440 649324  39700 S  55.8 31.8  11:45.74 Web Content                                                                                                                                    21942 daygeek   20   0 2013760 308700  69272 S  35.0 15.1   4:13.75 Web Content                                                                                                                                     4782 daygeek   20   0 3687116 227336  39156 R  14.5 11.1  16:47.45 gnome-shell

方法-4:使用 vmstat 命令

vmstat 是一个漂亮的标准工具,它报告 Linux 系统的虚拟内存统计信息。vmstat 报告有关进程、内存、分页、块 IO、陷阱和 CPU 活动的信息。它有助于 Linux 管理员在故障检修时识别系统瓶颈。

建议阅读: vmstat – 一个报告虚拟内存统计信息的标准且漂亮的工具

$ vmstat -s | grep "total memory"      2041396 K total memory      $ vmstat -s -S M | egrep -ie 'total memory'         1993 M total memory$ vmstat -s | awk '{print $1 / 1024 / 1024}' | head -11.94683

方法-5:使用 nmon 命令

nmon 是另一个很棒的工具,用于在 Linux 终端上监视各种系统资源,如 CPU、内存、网络、磁盘、文件系统、NFS、top 进程、Power 的微分区和资源(Linux 版本和处理器)。

只需按下 m 键,即可查看内存利用率统计数据(缓存、活动、非活动、缓冲、空闲,以 MB 和百分比为单位)。

建议阅读: nmon – Linux 中一个监视系统资源的漂亮的工具

┌nmon─14g──────[H for help]───Hostname=2daygeek──Refresh= 2secs ───07:24.44─────────────────┐│ Memory Stats ─────────────────────────────────────────────────────────────────────────────││                RAM     High      Low     Swap    Page Size=4 KB                           ││ Total MB     32079.5     -0.0     -0.0  20479.0                                           ││ Free  MB     11205.0     -0.0     -0.0  20479.0                                           ││ Free Percent    34.9%   100.0%   100.0%   100.0%                                          ││             MB                  MB                  MB                                    ││                      Cached= 19763.4     Active=  9617.7                                  ││ Buffers=   172.5 Swapcached=     0.0  Inactive = 10339.6                                  ││ Dirty  =     0.0 Writeback =     0.0  Mapped   =    11.0                                  ││ Slab   =   636.6 Commit_AS =   118.2 PageTables=     3.5                                  ││───────────────────────────────────────────────────────────────────────────────────────────││                                                                                           ││                                                                                           ││                                                                                           ││                                                                                           ││                                                                                           ││                                                                                           │└───────────────────────────────────────────────────────────────────────────────────────────┘

方法-6:使用 dmidecode 命令

dmidecode 是一个读取计算机 DMI 表内容的工具,它以人类可读的格式显示系统硬件信息。(DMI 意即桌面管理接口,也有人说是读取的是 SMBIOS —— 系统管理 BIOS)

此表包含系统硬件组件的描述,以及其它有用信息,如序列号、制造商信息、发布日期和 BIOS 修改等。

建议阅读: Dmidecode – 获取 Linux 系统硬件信息的简便方法

boardmix博思白板 boardmix博思白板

boardmix博思白板,一个点燃团队协作和激发创意的空间,集aigc,一键PPT,思维导图,笔记文档多种创意表达能力于一体,将团队工作效率提升到新的层次。

boardmix博思白板 39 查看详情 boardmix博思白板

# dmidecode -t memory | grep  Size:        Size: 8192 MB        Size: No Module Installed        Size: No Module Installed        Size: 8192 MB        Size: No Module Installed        Size: No Module Installed        Size: No Module Installed        Size: No Module Installed        Size: No Module Installed        Size: No Module Installed        Size: No Module Installed        Size: No Module Installed        Size: 8192 MB        Size: No Module Installed        Size: No Module Installed        Size: 8192 MB        Size: No Module Installed        Size: No Module Installed        Size: No Module Installed        Size: No Module Installed        Size: No Module Installed        Size: No Module Installed        Size: No Module Installed        Size: No Module Installed

只打印已安装的 RAM 模块。

# dmidecode -t memory | grep  Size: | grep -v "No Module Installed"        Size: 8192 MB        Size: 8192 MB        Size: 8192 MB        Size: 8192 MB

汇总所有已安装的 RAM 模块。

# dmidecode -t memory | grep  Size: | grep -v "No Module Installed" | awk '{sum+=$2}END{print sum}'32768

方法-7:使用 hwinfo 命令

hwinfo 意即硬件信息,它是另一个很棒的实用工具,用于探测系统中存在的硬件,并以人类可读的格式显示有关各种硬件组件的详细信息。

它报告有关 CPU、RAM、键盘、鼠标、图形卡、声音、存储、网络接口、磁盘、分区、BIOS 和网桥等的信息。

建议阅读: hwinfo(硬件信息)– 一个在 Linux 系统上检测系统硬件信息的好工具

$ hwinfo --memory01: None 00.0: 10102 Main Memory  [Created at memory.74]  Unique ID: rdCR.CxwsZFjVASF  Hardware Class: memory  Model: "Main Memory"  Memory Range: 0x00000000-0x7a4abfff (rw)  Memory Size: 1 GB + 896 MB  Config Status: cfg=new, avail=yes, need=no, active=unknown

方法-8:使用 lshw 命令

lshw(代表 Hardware Lister)是一个小巧的工具,可以生成机器上各种硬件组件的详细报告,如内存配置、固件版本、主板配置、CPU 版本和速度、缓存配置、USB、网卡、显卡、多媒体、打印机、总线速度等。

它通过读取 /proc 目录和 DMI 表中的各种文件来生成硬件信息。

建议阅读: LSHW (Hardware Lister) – 一个在 Linux 上获取硬件信息的好工具

$ sudo lshw -short -class memory[sudo] password for daygeek: H/W path      Device       Class       Description==================================================/0/0                       memory      128KiB BIOS/0/1                       memory      1993MiB System memory

方法-9:使用 inxi 命令

inxi 是一个很棒的工具,它可以检查 Linux 上的硬件信息,并提供了大量的选项来获取 Linux 系统上的所有硬件信息,这些特性是我在 Linux 上的其它工具中从未发现的。它是从 locsmif 编写的古老的但至今看来都异常灵活的 infobash 演化而来的。

inxi 是一个脚本,它可以快速显示系统硬件、CPU、驱动程序、Xorg、桌面、内核、GCC 版本、进程、RAM 使用情况以及各种其它有用的信息,还可以用于论坛技术支持和调试工具。

建议阅读: inxi – 一个检查 Linux 上硬件信息的好工具

$ inxi -F | grep "Memory"Info:      Processes: 234 Uptime: 3:10 Memory: 1497.3/1993.6MB Client: Shell (bash) inxi: 2.3.37

方法-10:使用 screenfetch 命令

screenfetch 是一个 bash 脚本。它将自动检测你的发行版,并在右侧显示该发行版标识的 ASCII 艺术版本和一些有价值的信息。

建议阅读: ScreenFetch – 以 ASCII 艺术标志在终端显示 Linux 系统信息

$ screenfetch                          ./+o+-       daygeek@ubuntu                  yyyyy- -yyyyyy+      OS: Ubuntu 17.10 artful               ://+//////-yyyyyyo      Kernel: x86_64 Linux 4.13.0-37-generic           .++ .:/++++++/-.+sss/`      Uptime: 44m         .:++o:  /++++++++/:--:/-      Packages: 1831        o:+o+:++.`..`` `.-/oo+++++/     Shell: bash 4.4.12       .:+o:+o/.          `+sssoo+/    Resolution: 1920x955  .++/+:+oo+o:`             /sssooo.   DE: GNOME  /+++//+:`oo+o               /::--:.   WM: GNOME Shell +/+o+++`o++o               ++////.   WM Theme: Adwaita  .++.o+++oo+:`             /dddhhh.   GTK Theme: Azure [GTK2/3]       .+.o+oo:.          `oddhhhh+    Icon Theme: Papirus-Dark        +.++o+o``-````.:ohdhhhhh+     Font: Ubuntu 11         `:o+++ `ohhhhhhhhyo++os:      CPU: Intel Core i7-6700HQ @ 2x 2.592GHz           .o:`.syhhhhhhh/.oo++o`      GPU: llvmpipe (LLVM 5.0, 256 bits)               /osyyyyyyo++ooo+++/     RAM: 1521MiB / 1993MiB                   ````` +oo+++o:                              `oo++.

方法-11:使用 neofetch 命令

neofetch 是一个跨平台且易于使用的命令行(CLI)脚本,它收集你的 Linux 系统信息,并将其作为一张图片显示在终端上,也可以是你的发行版徽标,或者是你选择的任何 ascii 艺术。

建议阅读: Neofetch – 以 ASCII 分发标志来显示 Linux 系统信息

$ neofetch            .-/+oossssoo+/-.               daygeek@ubuntu        `:+ssssssssssssssssss+:`           --------------      -+ssssssssssssssssssyyssss+-         OS: Ubuntu 17.10 x86_64    .ossssssssssssssssssdMMMNysssso.       Host: VirtualBox 1.2   /ssssssssssshdmmNNmmyNMMMMhssssss/      Kernel: 4.13.0-37-generic  +ssssssssshmydMMMMMMMNddddyssssssss+     Uptime: 47 mins /sssssssshNMMMyhhyyyyhmNMMMNhssssssss/    Packages: 1832.ssssssssdMMMNhsssssssssshNMMMdssssssss.   Shell: bash 4.4.12+sssshhhyNMMNyssssssssssssyNMMMysssssss+   Resolution: 1920x955ossyNMMMNyMMhsssssssssssssshmmmhssssssso   DE: ubuntu:GNOMEossyNMMMNyMMhsssssssssssssshmmmhssssssso   WM: GNOME Shell+sssshhhyNMMNyssssssssssssyNMMMysssssss+   WM Theme: Adwaita.ssssssssdMMMNhsssssssssshNMMMdssssssss.   Theme: Azure [GTK3] /sssssssshNMMMyhhyyyyhdNMMMNhssssssss/    Icons: Papirus-Dark [GTK3]  +sssssssssdmydMMMMMMMMddddyssssssss+     Terminal: gnome-terminal   /ssssssssssshdmNNNNmyNMMMMhssssss/      CPU: Intel i7-6700HQ (2) @ 2.591GHz    .ossssssssssssssssssdMMMNysssso.       GPU: VirtualBox Graphics Adapter      -+sssssssssssssssssyyyssss+-         Memory: 1620MiB / 1993MiB        `:+ssssssssssssssssss+:`             .-/+oossssoo+/-.

                           

方法-12:使用 dmesg 命令

dmesg(代表显示消息或驱动消息)是大多数类 Unix 操作系统上的命令,用于打印内核的消息缓冲区。

$ dmesg | grep "Memory"[    0.000000] Memory: 1985916K/2096696K available (12300K kernel code, 2482K rwdata, 4000K rodata, 2372K init, 2368K bss, 110780K reserved, 0K cma-reserved)[    0.012044] x86/mm: Memory block size: 128MB

方法-13:使用 atop 命令

atop 是一个用于 Linux 的 ASCII 全屏系统性能监视工具,它能报告所有服务器进程的活动(即使进程在间隔期间已经完成)。

它记录系统和进程活动以进行长期分析(默认情况下,日志文件保存 28 天),通过使用颜色等来突出显示过载的系统资源。它结合可选的内核模块 netatop 显示每个进程或线程的网络活动。

建议阅读: Atop – 实时监控系统性能,资源,进程和检查资源利用历史

$ atop -mATOP - ubuntu                                                   2018/03/31  19:34:08                                                   -------------                                                    10s elapsedPRC | sys    0.47s  | user   2.75s  |               |              |  #proc    219 |  #trun      1 | #tslpi   802  | #tslpu     0  | #zombie    0  | clones     7 |               |               |  #exit      4 |CPU | sys       7%  | user     22%  | irq       0%  |              |               |  idle    170% | wait      0%  |               | steal     0%  | guest     0% |               |  curf 2.59GHz |  curscal   ?% |cpu | sys       3%  | user     11%  | irq       0%  |              |               |  idle     85% | cpu001 w  0%  |               | steal     0%  | guest     0% |               |  curf 2.59GHz |  curscal   ?% |cpu | sys       4%  | user     11%  | irq       0%  |              |               |  idle     85% | cpu000 w  0%  |               | steal     0%  | guest     0% |               |  curf 2.59GHz |  curscal   ?% |CPL | avg1    1.98  |               | avg5    3.56  | avg15   3.20 |               |               | csw    14894  |               | intr    6610  |              |               |  numcpu     2 |               |MEM | tot     1.9G  | free  101.7M  | cache 244.2M  | dirty   0.2M |  buff    6.9M |  slab   92.9M | slrec  35.6M  | shmem  97.8M  | shrss  21.0M  | shswp   3.2M |  vmbal   0.0M |  hptot   0.0M |  hpuse   0.0M |SWP | tot    12.4G  | free   11.6G  |               |              |               |               |               |               |               |              |  vmcom   7.9G |               |  vmlim  13.4G |PAG | scan       0  | steal      0  |               | stall      0 |               |               |               |               |               |              |  swin       3 |               |  swout      0 |DSK |          sda  | busy      0%  |               | read     114 |  write     37 |  KiB/r     21 | KiB/w      6  |               | MBr/s    0.2  | MBw/s    0.0 |  avq     6.50 |               |  avio 0.26 ms |NET | transport     | tcpi      11  | tcpo      17  | udpi       4 |  udpo       8 |  tcpao      3 | tcppo      0  |               | tcprs      3  | tcpie      0 |  tcpor      0 |  udpnp      0 |  udpie      0 |NET | network       | ipi       20  |               | ipo       33 |  ipfrw      0 |  deliv     20 |               |               |               |              |  icmpi      5 |               |  icmpo      0 |NET | enp0s3    0%  | pcki      11  | pcko      28  | sp 1000 Mbps |  si    1 Kbps |  so    1 Kbps |               | coll       0  | mlti       0  | erri       0 |  erro       0 |  drpi       0 |  drpo       0 |NET | lo      ----  | pcki       9  | pcko       9  | sp    0 Mbps |  si    0 Kbps |  so    0 Kbps |               | coll       0  | mlti       0  | erri       0 |  erro       0 |  drpi       0 |  drpo       0 |   PID        TID     MINFLT      MAJFLT     VSTEXT      VSLIBS      VDATA      VSTACK      VSIZE       RSIZE      PSIZE       VGROW      RGROW      SWAPSZ     RUID          EUID          MEM      CMD        1/1  2536          -        941           0       188K      127.3M     551.2M        144K       2.3G      281.2M         0K          0K       344K       6556K     daygeek       daygeek       14%      Web Content  2464          -         75           0       188K      187.7M     680.6M        132K       2.3G      226.6M         0K          0K       212K      42088K     daygeek       daygeek       11%      firefox  2039          -       4199           6        16K      163.6M     423.0M        132K       3.5G      220.2M         0K          0K      2936K      109.6M     daygeek       daygeek       11%      gnome-shell 10822          -          1           0         4K      16680K     377.0M        132K       3.4G      193.4M         0K          0K         0K          0K     root          root          10%      java

方法-14:使用 htop 命令

htop 是由 Hisham 用 ncurses 库开发的用于 Linux 的交互式进程查看器。与 top 命令相比,htop 有许多特性和选项。

建议阅读: 使用 Htop 命令监视系统资源

$ htop  1  [|||||||||||||                                                                             13.0%]   Tasks: 152, 587 thr; 1 running  2  [|||||||||||||||||||||||||                                                                 25.0%]   Load average: 0.91 2.03 2.66   Mem[||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||1.66G/1.95G]   Uptime: 01:14:53  Swp[||||||                                                                               782M/12.4G]  PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command 2039 daygeek    20   0 3541M  214M 46728 S 36.6 10.8 22:36.77 /usr/bin/gnome-shell 2045 daygeek    20   0 3541M  214M 46728 S 10.3 10.8  3:02.92 /usr/bin/gnome-shell 2046 daygeek    20   0 3541M  214M 46728 S  8.3 10.8  3:04.96 /usr/bin/gnome-shell 6080 daygeek    20   0  807M 37228 24352 S  2.1  1.8  0:11.99 /usr/lib/gnome-terminal/gnome-terminal-server 2880 daygeek    20   0 2205M  164M 17048 S  2.1  8.3  7:16.50 /usr/lib/firefox/firefox -contentproc -childID 6 -isForBrowser -intPrefs 6:50|7:-1|19:0|34:1000|42:20|43:5|44:10|51:0|57:128|58:10000|63:0|65:400|66 6125 daygeek    20   0 1916M  159M 92352 S  2.1  8.0  2:09.14 /usr/lib/firefox/firefox -contentproc -childID 7 -isForBrowser -intPrefs 6:50|7:-1|19:0|34:1000|42:20|43:5|44:10|51:0|57:128|58:10000|63:0|65:400|66 2536 daygeek    20   0 2335M  243M 26792 S  2.1 12.2  6:25.77 /usr/lib/firefox/firefox -contentproc -childID 1 -isForBrowser -intPrefs 6:50|7:-1|19:0|34:1000|42:20|43:5|44:10|51:0|57:128|58:10000|63:0|65:400|66 2653 daygeek    20   0 2237M  185M 20788 S  1.4  9.3  3:01.76 /usr/lib/firefox/firefox -contentproc -childID 4 -isForBrowser -intPrefs 6:50|7:-1|19:0|34:1000|42:20|43:5|44:10|51:0|57:128|58:10000|63:0|65:400|66

方法-15:使用 corefreq 实用程序

CoreFreq 是为 Intel 64 位处理器设计的 CPU 监控软件,支持的架构有 Atom、Core2、Nehalem、SandyBridge 和 superior,AMD 家族 0F。

CoreFreq 提供了一个框架来以高精确度检索 CPU 数据。

建议阅读: CoreFreq – 一个用于 Linux 系统的强大的 CPU 监控工具

$ ./corefreq-cli -kLinux:                                                                          |- Release                                                   [4.13.0-37-generic]|- Version                          [#42-Ubuntu SMP Wed Mar 7 14:13:23 UTC 2018]|- Machine                                                              [x86_64]Memory:                                                                         |- Total RAM                                                          2041396 KB|- Shared RAM                                                           99620 KB|- Free RAM                                                            108428 KB|- Buffer RAM                                                            8108 KB|- Total High                                                               0 KB|- Free High                                                                0 KB

方法-16:使用 glances 命令

Glances 是用 Python 编写的跨平台基于 curses(LCTT 译注:curses 是一个 Linux/Unix 下的图形函数库)的系统监控工具。我们可以说它一应俱全,就像在最小的空间含有最大的信息。它使用 psutil 库从系统中获取信息。

Glances 可以监视 CPU、内存、负载、进程列表、网络接口、磁盘 I/O、Raid、传感器、文件系统(和文件夹)、Docker、监视器、警报、系统信息、正常运行时间、快速预览(CPU、内存、负载)等。

建议阅读: Glances (一应俱全)– 一个 Linux 的高级的实时系 统性能监控工具

$ glancesubuntu (Ubuntu 17.10 64bit / Linux 4.13.0-37-generic) - IP 192.168.1.6/24                                                                                                                           Uptime: 1:08:40CPU  [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||        90.6%]   CPU -    90.6%  nice:     0.0%  ctx_sw:    4K      MEM    78.4%  active:     942M      SWAP -    5.9%      LOAD    2-coreMEM  [|||||||||||||||||||||||||||||||||||||||||||||||||||||||||                 78.0%]   user:    55.1%  irq:      0.0%  inter:   1797      total:  1.95G  inactive:   562M      total:   12.4G      1 min:    4.35SWAP [||||                                                                       5.9%]   system:  32.4%  iowait:   1.8%  sw_int:   897      used:   1.53G  buffers:   14.8M      used:     749M      5 min:    4.38                                                                                         idle:     7.6%  steal:    0.0%                     free:    431M  cached:     273M      free:    11.7G      15 min:   3.38NETWORK     Rx/s   Tx/s   TASKS 211 (735 thr), 4 run, 207 slp, 0 oth sorted automatically by memory_percent, flat viewdocker0       0b   232benp0s3      12Kb    4Kb   Systemd          7    Services loaded: 197 active: 196 failed: 1 lo          616b   616b_h478e48e     0b   232b     CPU%  MEM%  VIRT   RES   PID USER        NI S     TIME+   R/s   W/s Command                             63.8  18.9 2.33G  377M  2536 daygeek      0 R   5:57.78     0     0 /usr/lib/firefox/firefox -contentproc -childID 1 -isForBrowser -intPrefs 6:50|7:-1|19:0|34:1000|42:20|43:5|44:10|51DefaultGateway     83ms     78.5  10.9 3.46G  217M  2039 daygeek      0 S  21:07.46     0     0 /usr/bin/gnome-shell                             8.5  10.1 2.32G  201M  2464 daygeek      0 S   8:45.69     0     0 /usr/lib/firefox/firefox -new-windowDISK I/O     R/s    W/s      1.1   8.5 2.19G  170M  2653 daygeek      0 S   2:56.29     0     0 /usr/lib/firefox/firefox -contentproc -childID 4 -isForBrowser -intPrefs 6:50|7:-1|19:0|34:1000|42:20|43:5|44:10|51dm-0           0      0      1.7   7.2 2.15G  143M  2880 daygeek      0 S   7:10.46     0     0 /usr/lib/firefox/firefox -contentproc -childID 6 -isForBrowser -intPrefs 6:50|7:-1|19:0|34:1000|42:20|43:5|44:10|51sda1       9.46M    12K      0.0   4.9 1.78G 97.2M  6125 daygeek      0 S   1:36.57     0     0 /usr/lib/firefox/firefox -contentproc -childID 7 -isForBrowser -intPrefs 6:50|7:-1|19:0|34:1000|42:20|43:5|44:10|51

方法-17 : 使用 Gnome 系统监视器

Gnome 系统监视器是一个管理正在运行的进程和监视系统资源的工具。它向你显示正在运行的程序以及耗费的处理器时间,内存和磁盘空间。

1.png

相关推荐:《Linux视频教程》

以上就是linux mem是什么意思的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/537554.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月9日 13:27:12
下一篇 2025年11月9日 13:28:16

相关推荐

  • XML中如何去除空节点_XML去除空节点的实用方法

    答案:可通过XSLT、Python脚本或命令行工具去除XML空节点。使用XSLT模板递归复制非空节点;Python的lxml库遍历并删除无文本、无子节点、无属性的元素;XMLStarlet命令行工具执行XPath表达式快速清理空标签,处理前需明确定义空节点并备份原文件。            &lt…

    2025年12月17日
    000
  • XML中如何转换XML编码格式_XML转换XML编码格式的方法与技巧

    正确识别并统一XML文件的编码声明与实际编码是解决解析错误的关键,可通过编辑器、命令行或编程方式(如Python脚本)进行转换,确保内容、声明和保存编码一致,避免乱码。 配合XSLT处理器(如Saxon),可实现内容转换的同时完成编码标准化。 基本上就这些。关键点是确保文件内容、XML声明、保存编码…

    2025年12月17日
    000
  • XML中如何验证XML Schema_XML验证XML Schema的操作方法

    答案:使用编程语言、命令行工具或IDE可验证XML文档是否符合XSD。Java通过JAXP加载Schema并校验;Python用lxml解析并验证;xmllint命令行工具支持快速检查;编辑器如VS Code、Oxygen可实时提示错误;需确保路径、命名空间和版本正确。 在XML中验证XML文档是否…

    2025年12月17日
    000
  • RSS订阅如何过滤重复内容

    RSS去重核心是利用guid、link或内容哈希识别唯一性,结合已处理记录实现过滤。主流阅读器如Inoreader和Feedly通过后端比对guid/link进行自动去重;自建方案可用Python脚本解析RSS并以数据库存储条目标识,通过定时任务抓取新内容并生成去重后的输出流。 RSS订阅中遇到重复…

    2025年12月17日
    000
  • XML中如何批量添加属性_XML批量添加属性的方法与技巧

    使用Python脚本、XSLT、正则替换或命令行工具可高效批量添加XML属性。1. Python结合ElementTree遍历元素并用set()添加属性;2. XSLT通过模板匹配插入新属性,保留原格式;3. 文本编辑器正则查找替换适用于简单结构,查找替换为;4. xmlstarlet等命令行工具结…

    2025年12月17日
    000
  • XML中如何比较XML差异_XML比较XML差异的操作方法

    使用专业工具或编程方法可准确比较XML差异。推荐DiffDog、XMLSpy进行图形化对比,WinMerge配合插件实现免费开源比对;Python的ElementTree、Java的DOM解析器适用于自动化代码比对,需先格式化避免空白干扰;命令行可用xmlstarlet结合diff,git可通过.x…

    2025年12月17日
    000
  • XML与配置文件热重载如何实现?监听文件变化。

    实现XML配置热重载需监听文件变化、重新解析并安全替换配置。首先利用WatchService等工具监听文件修改事件;检测到变更后,异步重新解析XML,校验语法并对比新旧配置;通过原子引用或双缓冲机制更新内存配置,避免阻塞主线程和频繁抖动;最后通知相关组件同步状态。结合Spring Boot或配置中心…

    2025年12月17日
    000
  • XML中如何校验XML结构_XML校验XML结构的操作方法

    校验XML结构可通过DTD或XSD定义规则,DTD在XML中声明元素结构,XSD支持数据类型与命名空间;2. 使用解析器如SAXParser或lxml开启验证模式加载XML,结构不符将报错;3. 可通过在线工具、命令行xmllint或编程实现校验,Python示例使用lxml.etree的XMLSc…

    2025年12月17日
    000
  • XML编辑器哪个好用?免费工具有哪些?

    选XML编辑器需根据使用场景:专业开发选oXygen或XMLSpy,功能全面适合复杂项目;日常编辑用Notepad++或VS Code,免费且支持插件扩展;快速查看修改推荐XML Marker,操作直观。 选哪个XML编辑器好,关键看你的具体需求。如果你要处理复杂的项目、需要团队协作或进行深度开发,…

    2025年12月17日
    000
  • RSS如何实现内容同步? RSS多平台内容同步与更新的自动化方案

    RSS通过标准化XML文件实现“发布-订阅”机制,内容更新由发布平台生成RSS Feed,订阅者借助RSS阅读器(如Feedly、Inoreader)、自动化工具(如IFTTT、Zapier)或自建脚本(如Python+feedparser)实现跨平台同步与自动发布。选择工具需根据使用习惯、设备同步…

    2025年12月17日
    000
  • 如何实现XML数据备份

    XML数据备份需根据存储方式选择文件级、数据库或应用层策略,结合全量与增量备份,通过自动化脚本定期执行,并采用哈希校验、结构验证确保完整性,定期恢复测试验证可靠性,遵循3-2-1存储规则,应对数据量大、并发写入等挑战,实施压缩加密、多版本管理及异地备份,保障数据安全可恢复。 XML数据备份,说白了,…

    2025年12月17日
    000
  • XML解析器性能测试指标

    SAX解析器在处理速度和内存占用上优于DOM,适合大数据量的流式处理;DOM解析器因构建完整树结构而消耗更多资源,但支持随机访问和修改,适用于小文件频繁操作场景。 评估XML解析器的性能,我们通常会聚焦在几个核心指标上:它的处理速度、运行时对系统内存和CPU的消耗,以及在面对不同规模和复杂度的XML…

    2025年12月17日
    000
  • XML外部实体引用风险有哪些

    XXE风险在于XML解析器处理恶意外部实体时可导致敏感文件读取、SSRF和DoS攻击,如通过file://读取/etc/passwd、http://发起内网探测或嵌套实体引发“十亿笑声”攻击,造成信息泄露、服务瘫痪等严重后果。 XML外部实体引用(XXE)风险,说白了,就是你的应用在处理XML数据时…

    2025年12月17日
    000
  • 什么是Office Open XML格式

    Office Open XML(OOXML)作为国际开放标准,通过将文档拆分为可读的XML文件并打包为ZIP格式,显著提升了跨平台兼容性、第三方集成能力与数据长期保存性,相较于传统二进制格式,其结构透明、文件更小、恢复性强且更易自动化处理,使开发者能高效实现文档生成、内容提取与系统集成,推动了文档生…

    2025年12月17日
    000
  • XML数据验证工具推荐

    推荐XML验证工具包括在线工具如FreeFormatter和XMLValidation,适合偶尔使用;离线工具如xmllint、Oxygen XML Editor和XMLSpy,适合频繁或敏感数据验证。选择需考虑使用频率、安全性、预算及功能需求。 XML数据验证工具,简单来说,就是确保你的XML文件…

    2025年12月17日
    000
  • XML字符编码问题如何解决

    XML乱码问题主要由编码声明与实际编码不一致导致,解决方法是确保XML声明的encoding属性与文件实际编码一致。首先检查XML文件头部的编码声明,如,再通过文本编辑器或命令行工具(如file -i)确认文件真实编码。若两者不符,可修改XML声明中的encoding值,或使用编辑器“另存为”功能转…

    2025年12月17日
    000
  • RSS订阅如何异常监控?

    答案:RSS订阅异常监控需建立正常基线,通过持续比对更新频率、内容结构、条目数量、HTTP状态等维度发现偏差,并结合分级告警与重试机制避免误报。具体可采用自定义脚本(如Python+feedparser)或Serverless架构实现自动化抓取、解析、存储与告警,同时根据历史数据动态调整阈值,以应对…

    2025年12月17日
    000
  • Qt如何生成RSS订阅?

    答案:Qt通过QXmlStreamWriter等XML工具生成符合RSS 2.0规范的订阅源,核心元素包括title、link、description、pubDate、lastBuildDate和guid,确保信息结构化与可解析性;QXmlStreamWriter适合高效生成RSS,而QDomDoc…

    2025年12月17日
    000
  • XML编码声明重要吗?

    XML编码声明非常重要,它是确保文件正确解析的关键。它作为字节与字符之间的映射桥梁,明确告知解析器应使用何种编码读取文件。若声明缺失或与实际编码不一致,可能导致乱码或解析失败。根据XML 1.0规范,无声明时默认按UTF-8处理,但若文件实际编码为GBK等其他格式,便会出错。因此,必须在生成或编辑X…

    2025年12月17日
    000
  • RSS如何实现推送通知?

    答案是RSS本身不提供推送功能,需通过中间服务实现。具体而言,RSS基于拉取机制,客户端或服务需定期检查更新,发现新内容后通过邮件、Webhook等方式通知用户。实现方式包括自建轮询服务、使用第三方自动化工具(如IFTTT、Zapier)、或采用WebSub协议实现近实时推送。选择方案时需权衡技术能…

    2025年12月17日
    000

发表回复

登录后才能评论
关注微信