小熊奶糖(BearCandy)
小熊奶糖(BearCandy)
发布于 2024-10-10 / 5 阅读
0

linux查看交换空间,CPU,内存占用率以及交换空间(虚拟内存)解释

在Linux系统中,有多种命令可以查看CPU、内存和交换空间的占用情况。以下是一些常用的命令和它们的用法:

1. 查看CPU占用

使用 top 命令

top 是一个动态实时显示系统信息的工具,可以查看CPU和内存的使用情况。

top

top 的输出中,你可以看到:

  • %CPU 列显示每个进程的CPU使用率。
  • Cpu(s) 行显示总的CPU使用情况,包括用户空间、系统空间、空闲时间和等待I/O的时间。

使用 htop 命令

htop 是一个增强版的 top 工具,提供了更丰富的交互功能。

htop

2. 查看内存占用

使用 free 命令

free 命令可以显示系统的物理内存和交换空间的使用情况。

free -h
  • -h 选项表示以人类可读的方式显示结果。

输出示例:

              total        used        free      shared  buff/cache   available
Mem:           7.7G        2.3G        1.4G        256M        4.0G        4.9G
Swap:          2.0G          0B        2.0G

3. 查看交换空间占用

使用 swapon 命令

swapon 命令可以显示当前激活的交换分区和文件。

sudo swapon --show

输出示例:

NAME      TYPE      SIZE USED PRIO
/swapfile file      2G   0B   -2

使用 free 命令

如上所述,free 命令也可以显示交换空间的使用情况。

4. 综合查看系统资源使用情况

使用 vmstat 命令

vmstat 命令可以显示虚拟内存统计信息,包括CPU、内存和交换空间的使用情况。

vmstat -s

输出示例:

      8175840 K total memory
      2445360 K used memory
      1570480 K active memory
      1234560 K inactive memory
      5678900 K free memory
      1234560 K buffer memory
      2345670 K swap cache
      2097152 K total swap
            0 K used swap
      2097152 K free swap
       123456 non-nice user cpu ticks
        12345 nice user cpu ticks
        12345 system cpu ticks
     12345678 idle cpu ticks
         1234 IO-wait cpu ticks
          123 IRQ cpu ticks
          123 softirq cpu ticks
            0 stolen cpu ticks
      123456 pages paged in
      123456 pages paged out
            0 pages swapped in
            0 pages swapped out
      123456 interrupts
      123456 CPU context switches
      123456 bootup seconds
      123456 forks

5. 使用 ps 命令查看特定进程的资源占用

ps 命令可以显示特定进程的资源占用情况。

ps aux

输出示例:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  20404  3224 ?        Ss   Oct01   0:02 /sbin/init
...
  • %CPU 列显示每个进程的CPU使用率。
  • %MEM 列显示每个进程的内存使用率。

通过这些命令,你可以全面了解系统的CPU、内存和交换空间的占用情况。希望这些信息对你有帮助!

交换空间(Swap Space)是Linux系统中的一种虚拟内存机制,当物理内存(RAM)不足时,系统会将一些不常用的数据从物理内存移到交换空间中,从而释放物理内存供其他进程使用。交换空间通常是一个单独的分区或一个文件。

交换空间的工作原理

  1. 物理内存不足:当物理内存不足时,操作系统会选择一些不活跃的内存页面(通常是进程的页)移到交换空间中。
  2. 释放物理内存:这样做的目的是释放物理内存,以便其他进程或数据可以使用这些释放出来的内存。
  3. 页面交换:当需要访问已经被移到交换空间中的数据时,操作系统会将这些数据从交换空间换回到物理内存中,并将其他不活跃的数据移到交换空间中。

查看交换空间

使用 free 命令

free 命令可以显示系统的物理内存和交换空间的使用情况。

free -h

输出示例:

              total        used        free      shared  buff/cache   available
Mem:           7.7G        2.3G        1.4G        256M        4.0G        4.9G
Swap:          2.0G          0B        2.0G

使用 swapon 命令

swapon 命令可以显示当前激活的交换分区和文件。

sudo swapon --show

输出示例:

NAME      TYPE      SIZE USED PRIO
/swapfile file      2G   0B   -2

创建和管理交换空间

创建交换文件

  1. 创建一个文件

    sudo fallocate -l 2G /swapfile
    

    或者使用 dd 命令:

    sudo dd if=/dev/zero of=/swapfile bs=1G count=2
    
  2. 设置文件权限

    sudo chmod 600 /swapfile
    
  3. 设置交换文件

    sudo mkswap /swapfile
    
  4. 启用交换文件

    sudo swapon /swapfile
    
  5. 验证交换文件

    sudo swapon --show
    
  6. 使交换文件在重启后生效
    编辑 /etc/fstab 文件,添加以下行:

    /swapfile none swap sw 0 0
    

删除交换文件

  1. 停用交换文件

    sudo swapoff /swapfile
    
  2. 删除交换文件

    sudo rm /swapfile
    
  3. /etc/fstab 中移除相应的行
    编辑 /etc/fstab 文件,删除之前添加的行:

    /swapfile none swap sw 0 0
    

调整交换空间的优先级

交换空间的优先级可以通过 swapon 命令来调整。优先级范围从 -1 到 32767,默认值为 -1。优先级越高,系统越倾向于使用该交换空间。

sudo swapon -p <priority> /swapfile

交换空间的优缺点

优点

  • 增加可用内存:通过扩展物理内存,系统可以在内存不足时继续运行更多的程序。
  • 提高稳定性:防止因内存不足导致系统崩溃。

缺点

  • 性能下降:与物理内存相比,交换空间的访问速度较慢,频繁的页面交换会导致系统性能下降。
  • 磁盘磨损:频繁的读写操作可能会加速磁盘的磨损,特别是对于固态硬盘(SSD)。

结论

交换空间是Linux系统中一种重要的虚拟内存机制,合理配置和管理交换空间可以有效提升系统的稳定性和性能。希望这些信息对你有所帮助!