首页 > 系统相关 >#渗透测试#SRC漏洞挖掘# 操作系统-Linux系统基础04之内存管理

#渗透测试#SRC漏洞挖掘# 操作系统-Linux系统基础04之内存管理

时间:2024-11-06 15:16:22浏览次数:5  
标签:SRC 04 MB sudo 使用 命令 内存 Linux 目录

免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章阅读。                                                              #陇羽sec#

目录

内存管理

内存使用量

磁盘使用量

文件或目录大小

查看硬盘分区

挂载分区


内存管理

内存管理是操作系统中的一个关键组件,特别是在Linux系统中。它涉及到如何有效地分配、使用和回收内存资源,以确保系统的稳定性和性能。Linux内存管理的核心思想是尽可能高效地利用内存,同时保证系统的安全性和稳定性。

内存管理的主要组成部分

  1. 物理内存的组织和管理:

    • 页(Page):内存的基本单位,通常是4KB。

    • 页框(Page Frame):物理内存中的页。

    • 伙伴系统(Buddy System):一种内存分配算法,用于管理页框的分配和回收。

  2. 虚拟地址和物理地址的映射:

    • 虚拟地址(Virtual Address):进程看到的内存地址。

    • 物理地址(Physical Address):实际的内存地址。

    • 页表(Page Table):用于将虚拟地址映射到物理地址。

  3. 内存区域的划分:

    • 用户态(User Space):用户进程使用的内存。

    • 内核态(Kernel Space):内核使用的内存。

  4. 内存的分类:

    • DMA区(ZONE_DMA):用于DMA操作的内存。

    • 正常区(ZONE_NORMAL):常规内存。

    • 高端内存(ZONE_HIGHMEM):高地址空间的内存。

内存管理的高级特性

  1. 缓存(Cache):

    • 页高速缓存(Page Cache):用于缓存文件数据,减少磁盘I/O操作。

    • 缓冲区(Buffers):用于缓存磁盘的元数据。

  2. 内存映射(Memory Mapping):

    • 直接映射(Direct Mapping):逻辑地址直接映射到物理地址。

    • 动态映射(Dynamic Mapping):逻辑地址可以动态映射到不同的物理地址。

  3. 内存回收和分配:

    • slab分配器:用于管理内核中的小对象。

    • 伙伴系统:用于管理大块内存的分配和回收。

内存使用量

查看内存使用量是系统管理和性能监控中的一个重要任务。不同的操作系统有不同的方法来查看内存使用情况。以下是针对不同操作系统的查看方法:

在Linux系统中,free 命令是一个非常常用的工具,用于显示系统中空闲和已用内存的大小。-m 选项表示以MB(兆字节)为单位显示内存信息。这个命令对于快速查看系统的内存使用情况非常有用。
如何使用 free -m
你只需要在终端中输入以下命令:
free -m 
执行上述命令后,你会看到类似以下的输出:
              total        used        free      shared  buff/cache   available 
Mem:          1595         328        1107          23         160        1130 
Swap:          2047           0        2047 
输出解释
    total: 总内存容量。
    used: 已使用的内存量。
    free: 空闲的内存量。
    shared: 被多个进程共享的内存量。
    buff/cache: 被缓冲区和缓存使用的内存量。
    available: 实际可用的内存量,这个值考虑了缓冲区和缓存的内存,因为这些内存可以迅速释放出来供应用程序使用。
示例
假设你执行了 free -m 命令并得到了以下输出:
              total        used        free      shared  buff/cache   available 
Mem:          1595         328        1107          23         160        1130 
Swap:          2047           0        2047 

从上面的输出可以看出:
    总内存容量是 1595 MB。
    已使用的内存量是 328 MB。
    空闲的内存量是 1107 MB。
    共享的内存量是 23 MB。
    缓冲区和缓存使用的内存量是 160 MB。
    实际可用的内存量是 1130 MB。
磁盘使用量

查看磁盘使用量是系统管理中的一个重要任务,无论是Linux、Windows还是Mac系统,都有不同的方法来实现这一目标。以下是针对不同操作系统的查看磁盘使用量的方法。

df -hT
    df:这个命令用于报告文件系统的磁盘空间使用情况。它显示了文件系统的总容量、已使用容量、可用容量、使用比例等信息。
    -h:这个选项表示以“人类可读”的方式显示结果,即自动选择合适的单位(如KB、MB、GB)来显示磁盘空间,以便于阅读。
    -T:这个选项表示显示文件系统的类型。例如,文件系统可能是ext4、xfs、btrfs等。

因此,df -hT 命令会以易于阅读的方式显示每个文件系统的磁盘使用情况及其类型。这对于系统管理员来说是一个非常有用的工具,可以帮助他们监控和管理磁盘空间。
文件或目录大小
sudo du ./* -hsc
sudo du ./* -hsc 是一个用于计算当前目录下所有文件和目录的磁盘使用情况的命令。以下是对该命令中各个选项的解释:
sudo
sudo 是 "superuser do" 的缩写,用于以超级用户(root)权限执行命令。使用 sudo 可以确保你有足够的权限访问和操作文件系统中的所有文件和目录。
du
du 是 "disk usage" 的缩写,用于估算文件和目录的磁盘使用空间。
./
. 表示当前目录。./ 表示当前目录下的所有文件和子目录。
*
* 是通配符,表示当前目录下的所有文件和目录。
-h
-h 选项表示 "human-readable",即以人类可读的格式显示文件大小(例如,使用 KB、MB、GB 等单位)。
-s
-s 选项表示 "summarize",即只显示每个文件或目录的总大小,而不是详细列出每个子目录的大小。
-c
-c 选项表示 "total",即在最后显示所有文件和目录的总大小。
示例输出
执行该命令后,你可能会看到类似以下的输出:
4.0K    ./file1.txt  
8.0K    ./directory1 
12K     ./directory2 
24K     total 
查看硬盘分区
sudo fdisk -l
sudo fdisk -l 是一个用于列出所有磁盘分区信息的命令。以下是对该命令中各个部分的解释:
sudo
sudo 是 "superuser do" 的缩写,用于以超级用户(root)权限执行命令。使用 sudo 可以确保你有足够的权限访问和操作文件系统中的所有文件和目录。
fdisk
fdisk 是一个用于分区管理的命令行工具。它可以用来创建、删除、修改和列出磁盘分区。
-l
-l 选项表示 "list",即列出所有磁盘的分区信息。
示例输出
执行该命令后,你可能会看到类似以下的输出:
Disk /dev/sda: 500 GB, 50010781400 bytes 
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors 
Units = sectors of 1 * 512 = 512 bytes 
Sector size (logical/physical): 512 bytes / 512 bytes 
I/O size (minimum/optimal): 512 bytes / 512 bytes 
Disk identifier: 0x00000000 
   Device Boot      Start         End      Blocks   Id  System 
/dev/sda1   *        2048      209919      103936   83  Linux 
/dev/sda2          209920    976773167    488386124   8e  Linux LVM 
挂载分区
sudo  mount /dev/sdb1 /mnt/usb
命令解释
    sudo: 以超级用户权限执行命令。
    mount: 挂载文件系统的命令。
    /dev/sdb1: 这是要挂载的设备,通常是一个USB设备或硬盘分区。
    /mnt/usb: 这是挂载点,即设备将被挂载到的目录。
注意事项
    挂载点目录必须存在:在执行挂载命令之前,确保 /mnt/usb 目录已经存在。如果目录不存在,可以使用以下命令创建它:
    sudo mkdir -p /mnt/usb 
    设备识别:确保 /dev/sdb1 是正确的设备。可以使用 lsblk 或 fdisk -l 命令来列出所有设备和分区,以确认正确的设备名称。
    权限问题:挂载点目录通常需要有适当的权限。如果挂载后无法访问,可能需要调整目录的权限。
sudo mkdir -p /mnt/usb 
sudo mount /dev/sdb1 /mnt/usb 
卸载命令
如果需要卸载设备,可以使用以下命令:
sudo umount /mnt/usb 

 未完待续!!!!!!

标签:SRC,04,MB,sudo,使用,命令,内存,Linux,目录
From: https://blog.csdn.net/m0_62828084/article/details/143570638

相关文章

  • linux 虚拟机扩容
    虚拟机扩容是一件非常简单的事情,我们不要把他想的太麻烦了,下面我们开始操作!1.我们先用df-TH命令查看虚拟机根目录的内存通过这个命令我们发现可用的内存还有大约7G,这里一定是看根目录下的内存。2.我们先关闭虚拟机,找到编辑虚拟机设置、硬盘、扩展注意:这里的虚拟机必须......
  • Linux常见命令
    Linux系统提供了大量强大的命令行工具,这里列举了一些最常用的基本命令,来帮助您在Linux环境下进行日常管理和操作:1、ls-列出目录内容ls:显示当前目录下的文件和文件夹。ls-l:以长格式列出,显示文件的详细信息,如权限、大小、修改日期等。ls-a:显示包括隐藏文件在内......
  • Linux Ubuntu 20.04 LTS 解决无法输入中文 输入法问题
     卸载fcitxsogou输入法#彻底卸载sogou和fcitxsudoaptpurgesogoupinyinsudoaptpurgefcitxsudoaptautoremovesudoaptremovefcitx*sudoaptpurgefcitx*sudoaptautoremove#删除配置文件cd.config/rm-rfsogoupinyin/rm-rfibus安装&配置ibus-rime#安装ib......
  • 还在为慢速数据传输苦恼?Linux 零拷贝技术来帮你!
    前言程序员的终极追求是什么?当系统流量大增,用户体验却丝滑依旧?没错!然而,在大量文件传输、数据传递的场景中,传统的“数据搬运”却拖慢了性能。为了解决这一痛点,Linux推出了零拷贝技术,让数据高效传输几乎无需CPU操心。今天,我就用最通俗的语言讲解零拷贝的工作原理、常见实现方......
  • Linux总结(上)
    Linux    根目录:/   家目录:~ (~指代的内容,如果是root,家目录就是/root,如果是普通用户user,家目录就是/home/user)   上一层目录:..   当前目录:.   前一个工作目录:-   命令格式:命令[选项]参数1.时间:   date    date+%Y/%m/%d%H......
  • Linux之Chronyd 时间服务器配置(Chronod Time Server Configuration in Linux)
      ......
  • Linux之sudo高级应用(Sudo Advanced Applications in Linux)
     ......
  • 【HAProxy04】企业级反向代理HAProxy调度算法之Socat 工具
    HAProxy调度算法HAProxy通过固定参数balance指明对后端服务器的调度算法,该参数可以配置在listen或backend选项中。HAProxy的调度算法分为静态和动态调度算法,但是有些算法可以根据不同的参数实现静态和动态算法相互转换。官方文档:HAProxyversion2.4.15-Configurati......
  • 【2024-11-04】吃的陷阱
    20:00乐观不等于盲目期待最好的事情发生,而是相信无论发生什么,你都能处理好。                                                 ——马丁·塞利格曼昨晚临睡前我称了一......
  • Linux离线安装gcc4.8
    Linux离线安装gcc4.8https://pan.baidu.com/s/1J-wVsAoTmfn_iiOnYSrmZApwd:beeelinux离线安装gcc4.8.5(简单易懂,已成功安装)联网的情况下直接使用命令yum-yinstallgcc安装。不能联网就需要离线安装了。步骤如下:获取离线安装包:可以使用我已经下载好的包,链接:https://p......