swap分区和内存

摘要:
4删除交换空间:a禁用交换分区:#swapoff/dev/sdb2b从/etc/fstab删除项目;C使用fdisk或yast工具删除分区。

1 查看swap 空间大小(总计):
# free -m默认单位为k, -m 单位为M
total used free shared buffers cached
Mem: 377 180 197 0 19 110
-/+ buffers/cache: 50 327
Swap: 572 0 572

2 查看swap 空间(file(s)/partition(s)):

包括 文件 和 分区 的详细信息

# swapon -s
等价于
# cat /proc/swaps

3 添加交换空间
两种选择:添加一个交换分区或添加一个交换文件。推荐你添加一个交换分区;不过,若你没有多少空闲空间可用,则添加交换文件。

3.1 添加一个交换分区
步骤如下:
a 使用fdisk来创建交换分区(假设 /dev/sdb2 是创建的交换分区)
b 使用 mkswap 命令来设置交换分区:
# mkswap /dev/sdb2
c 启用交换分区:
# swapon /dev/sdb2
d 写入/etc/fstab,以便在引导时启用:
/dev/sdb2 swap swap defaults 0 0

3.2 添加一个交换文件
a 创建大小为512M的交换文件:
# dd if=/dev/zero of=/swapfile1 bs=1024k count=512
b 使用 mkswap 命令来设置交换文件:
# mkswap /swapfile1
c 启用交换分区:
# swapon /swapfile1
d 写入/etc/fstab,以便在引导时启用:
/swapfile1 swap swap defaults 0 0

新添了交换分区并启用它之后,请查看 cat /proc/swaps 或 free 命令的输出来确保交换分区已被启用了。

4 删除交换空间:
a 禁用交换分区:
# swapoff /dev/sdb2
b 从/etc/fstab中删除项目;
c 使用fdisk或yast工具删除分区。

删除交换文件步骤同上。


# free -m
total used free shared buffers cached
Mem: 377 180 197 0 19 110
-/+ buffers/cache: 50 327
Swap: 572 0 572

Mem行显示了从系统角度看来内存使用的情况, total是系统可用的内存大小, 数量上等于系统物理内存减去内核保留的内存.
buffers和cached是系统用做缓冲的内存. buffers与某个块设备关联, 包含了文件系统元数据, 并且跟踪了块的变化. cache只包含了文件本身.

-/+ buffers/cache 行则从用户角度显示内存信息, 可用内存从数量上等于mem行used列值减去buffers和cached内存的大小.

因为buffers和cached是操作系统为加快系统运行而设置的, 当用户需要时, 可以只接为用户使用.

top显示系统运行时的各进程动态、实时的状态(cpu、内存)

top 中有3个列VIRT RES SHR, 标示了进程使用的内存情况.
VIRT标识这个进程可以使用的内存总大小, 包括这个进程真实使用的内存, 映射过的文件, 和别的进程共享的内存等.
RES标识这个这个进程真实占用内存的大小.
SHR标识可以和别的进程共享的内存和库大小.

vmstat显示内存的使用情况

这些命令都是从/proc/meminfo中读取内存信息.

关于/proc/meminfo中各行的含意, 在内核源代码的Documentation/filesystems/proc.txt文件中有叙述

系统的真实内存大小可以用dmesg | grep [mM][eE][mM]看到

/proc/pid/status显示一个进程的详细状态
# cat /proc/5346/status
Name: bash
State: S (sleeping)
SleepAVG: 98%
Tgid: 5346
Pid: 5346
PPid: 5343
TracerPid: 0
Uid: 1000 1000 1000 1000
Gid: 104 104 104 104
FDSize: 256
Groups: 6 24 29 44 104 113 1000 1001
VmPeak: 6528 kB
VmSize: 6528 kB
VmLck: 0 kB
VmHWM: 1976 kB
VmRSS: 1976 kB
VmData: 752 kB
VmStk: 84 kB
VmExe: 644 kB
VmLib: 1788 kB
VmPTE: 16 kB
Threads: 1
SigQ: 0/4294967295
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000384004
SigCgt: 000000004b813efb
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000

VmSize即为该进程内存总大小, 和top输出中的VIRT一致.

免责声明:文章转载自《swap分区和内存》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇mysql批量更新Oracle 中session和processes的初始设置下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

Centos-修改文件访问和修改时间-touch

触摸如果文件存在,请更改文件的访问时间和修改时间。如果不存在,请创建一个空的文件相关选项。a将文件访问时间更改为当前系统时间。m将文件修改时间更改为当前系统时间。c如果文件不存在,请不要创建它。d不提示。d指定日期和时间。格式为Y-m-dH:m:S-r递归修改目录下的所有文件和内容...

CorelDRAW 编写和运行宏指令

在开发和运行CorelDRAW宏之前,必须安装VBA组件。在CoerlDRAW11和12中安装CorelDRAWVBAVBA是典型安装的一部分。2如果安装开始,请单击安装CorelDRAW12 Graphics Suite。CorelDRAWVBA工具栏CorelDRaw工具栏提供了几个快速的VBA函数和对VB编辑器的访问。但是,您可以通过在CorelDRA...

windows下mstsc 远程Ubuntu 教程

为远程桌面控制设置Ubuntu 16.04的缺点是重新启动系统需要使用监视器登录系统。首先,我们将Ubuntu远程控制设置为允许远程连接,进入系统-˃首选项-˃桌面共享,或直接搜索桌面共享。如图所示,选中此项,然后选中安全项,并设置远程密码。...

easyExcel自动合并单元格

importcom.alibaba.excel.write.handler.CellWriteHandler;importorg.apache.poi.ss.usermodel.Sheet;importorg.apache.poi.ss.util.CellRangeAddress;int[]mergeColumnIndex){this.mergeRowInd...

android的apk权限查看

使用aapt工具查看apk包的权限aapt默认路劲为androidSDK安装路径下的build-tools文件夹下,需要讲aapt复制到adb的存放路径下即可在cmd中使用aapt命令查看apk的权限命令如下:aaptdumpbadgingxxx.apk如果觉得cmd窗口不好查找,可以将对应的输出重定向到文件中...

weblogic补丁下载与安装补丁的方法

去:https://jingyan.baidu.com/article/642c9d34b3b493254a46f7e4.htmlweblogic安装应用程序后,可能会发现该版本存在漏洞。我们可以根据weblogic漏洞报告下载补丁,然后修复相应的漏洞。我们如何下载和安装修补程序?Weblogic 10.3.6.0 Linux步骤1:在Weblogic中出现...