linux下SWAP为交换分区,也就是虚拟内存;

当linux系统的物理内存不够的时候,就需要将物理内存中的一些东西释放出来,以供当前程序使用;

那些被释放的空间可能来自于一些很长没有什么操作的程序,被释放出来的空间中保存的内容就会被临时放入swap中;

等到那些程序要运行时,再从swap中恢复保存的数据。

具体swap分区的大小设置问题参考Linux交换分区设置多大为好?

如何查看系统的swap分区?

1. 使用free命令;用以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。

-b:以Byte为单位显示内存使用情况;
-k:以KB为单位显示内存使用情况;
-m:以MB为单位显示内存使用情况;
-o:不显示缓冲区调节列;
-s<间隔秒数>:持续观察内存使用状况;
-t:显示内存总和列;
-V:显示版本信息。

一般比较常用的是free -m, 执行结果如下:

      total   used    free    shared    buff/cache   available
Mem:   7865   3025    203     754        4636        3775
Swap:  17578  60      17518

因为是以MB为单位,可以看到我这里的纵内存是8GB,已经使用的是3GB左右,free表示物理内存中剩余的实际空间,而available则包含了缓存或缓冲区域的内存,大致计算就是free+buff/cache, 因此,available都比free要大很多。shared表示当前已经废弃不用的内存。第二行swap表示交换分区中的内存情况。

这里简单总结一下buffer和cache的区别,想要详细了解的可以参考这篇文章:
buffer和cache怎么让你们解释的那么难理解?简单来讲,buffer一个是缓冲,cache是缓存。因为硬件上的区别,在电脑内部信息交换的时候就存在速度的快慢问题,有的设备快有的设备慢。那么为了提高效率,就需要设置一个专门的区域来对两个快慢不一致的区域进行交流。buffer为当传输速度较快的设备向传输较慢的设备进行数据传输时,可以现将内存放置在buffer中,这样就无需等待慢设备,而慢设备也可以在需要数据时随时从buffer中拿; 同理,当慢设备向快设备进行数据输送时,由于其速度太慢,快设备就需要等,但是如果有cache,就可以在第一次传输时就将数据放在cache中,等到第二次第三次需要同样的内容时就可以更快。

2. top命令也可以实时动态地查看系统的整体运行情况。

使用方法为top (选项), 具体的参考选项如下:

-b:以批处理模式操作;
-c:显示完整的治命令;
-d:屏幕刷新间隔时间;
-I:忽略失效过程;
-s:保密模式;
-S:累积模式;
-i<时间>:设置间隔时间;
-u<用户名>:指定用户名;
-p<进程号>:指定进程;
-n<次数>:循环显示的次数。

常见的如: top -d 1 ,即为每1s刷新一下数据,显示内存的实时使用情况。可以用在debug时观察线程的占用内存情况等等。

实例:

top - 09:44:56 up 16 days, 21:23,  1 user,  load average: 9.59, 4.75, 1.92
Tasks: 145 total,   2 running, 143 sleeping,   0 stopped,   0 zombie
Cpu(s): 99.8%us,  0.1%sy,  0.0%ni,  0.2%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   4147888k total,  2493092k used,  1654796k free,   158188k buffers
Swap:  5144568k total,       56k used,  5144512k free,  2013180k cached

主要内容解释如下:

Tasks: 145 total[总进程数],
2 running[正在运行的进程数],
Cpu(s): 99.8%us[用户空间占用CPU百分比],
0.1%sy[内核空间占用CPU百分比],
0.0%ni[用户进程空间内改变过优先级的进程占用CPU百分比],
0.2%id[空闲CPU百分比], 0.0%wa[等待输入输出的CPU时间百分比],
Mem:
4147888k total[物理内存总量],
2493092k used[使用的物理内存总量],
1654796k free[空闲内存总量],
158188k buffers[用作内核缓存的内存量]
Swap:  5144568k total[交换区总量],
56k used[使用的交换区总量],
5144512k free[空闲交换区总量],
2013180k cached[缓冲的交换区总量],

更多linux命令解释可以参考linux命令大全

LInux下的交换分区以及相关查看命令相关推荐

  1. linux交换分区的命令,LInux下的交换分区以及相关查看命令

    linux下SWAP为交换分区,也就是虚拟内存: 当linux系统的物理内存不够的时候,就需要将物理内存中的一些东西释放出来,以供当前程序使用: 那些被释放的空间可能来自于一些很长没有什么操作的程序, ...

  2. linux交换分区的目录,linux 下的交换分区及根目录

    linux下的分区情况 Linux下的交换分区 Linux系统中的Linux交换分区是当物理内存(RAM)被充满时,作为物理内存的缓存来使用.当系统需要更多的内存资源,而物理内存已经充满,内存中不活跃 ...

  3. linux下管理交换分区

    #fdisk -cu /dev/vdb 对新加的磁盘进行操作 Command (m for help): n  新建一个分区 Command action    e   extended    p   ...

  4. linux下调整交换分区的大小

    centos 和 redhat调整交换分区大小的方法是一样的,本人已经做过: 第一步,你要确定你的磁盘上有足够的空间可以做交换分区,交换分区实在磁盘上找一块空闲的空间来模拟成内存,在内存不够用的时候, ...

  5. Linux下不保存退出以及相关退出命令

    进入vi下面修改东西,一不小心修改错了,想要恢复,习惯性的Ctrl+z居然忘记这是windows的专利了.网上搜了一下相关的保存及退出命令,但是最实用我这个情况的就是一个快捷键Ctrl+C. 其实li ...

  6. linux修改swap分区大小2GB,Linux下修改Swap分区大小

    据了解Linux下可以有两种方法创建交换空间,一种是创建交换分区,另一种是创建交换文件.本文记录的是创建交换文件的方法,因为我用的是这种方法.. 添加交换文件步骤: 1.找个地方创建一个.swap的文 ...

  7. linux 根目录分配多少好,Linux下硬盘怎么分区才合适:根分区(/)交换分区(/swap)和/boot分区需要多大...

    Linux下硬盘怎么分区才合适:根分区(/)交换分区(/swap)和/boot分区需要多大 : 在对硬盘进行分区前,应该先弄清楚计算机担负的工作及硬盘的容量有多大,还要考虑到以下几个问题. 第一点也是 ...

  8. linux创建一个交换分区,如何创建linux交换分区

    匿名用户 1级 2017-03-26 回答 1.mkswap 把一个分区格式化成为swap交换区: [root@localhost]# mkswap /dev/sda6 注:创建此分区为swap 交换 ...

  9. Linux下清除磁盘分区及残留raid信息

    Linux下清除磁盘分区及残留raid信息 适用场景: 1. 查看硬盘编号 2. 删除磁盘分区 3. 删除磁盘内残留raid信息 *本文适用于430-8i等只有低速格式化或没有格式化功能的HBA卡使用 ...

最新文章

  1. FireFox and IE CSS兼容要点
  2. cocos2d-x JS 随机数
  3. NiosII中Flash的使用(转)
  4. LINUX framebuffer
  5. jquery插件开发通用框架
  6. IDEA工具开发必备设置-极大提高开发效率
  7. OS + Linux RedHat 7 / redhat 7 configuration
  8. python showinfo 方法_Python GUI之tkinter窗口视窗教程大集合(看这篇就够了)
  9. 如何使用 kubeadm 安装 Kubernetes?
  10. 关于sqlite断电或者存储空间不足造成的数据文件损坏问题-转
  11. 预处理语句--#define、#error和#warning
  12. Linux中/etc/init.d
  13. 从囚徒困境到世风日下
  14. 补天漏洞响应平台基本介绍
  15. FSCapture注册码
  16. python-flask-制作网页入门1
  17. iOS、Mac开源项目记录 - From TimLiu-iOS
  18. Java实现多图片和文字编辑成一张图片
  19. 省赛选拔-A 警察抓小偷
  20. 红客联盟宣布解散,网站关闭

热门文章

  1. matlab eps是什么
  2. matlab meshgrid
  3. 【Proteus仿真8086】将IO接口电路封装成子电路CCT001
  4. zynq创建ramip核
  5. 一句话满速下载清华源3.4.1.15版本的opencv和contrib库
  6. shell 免杀aspx_记一次aspx网站渗透
  7. C# 值类型和引用类型
  8. PL/SQL TOAD 不安装Oracle客户端连接数据库的方法
  9. Objective-C 与JAVA的SHA1/HmacSHA1加密算法实现
  10. Android 发送邮件信息,附带附件