Linux怎样查看和修改SWAP大小
Linux怎样查看和修改SWAP大小,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
1 查看swap 空间大小(总计):
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 添加交换空间
两种选择:添加一个交换分区或添加一个交换文件。推荐你添加一个交换分区;不过,若你没有多少空闲空间可用,则添加交换文件。
1 添加一个交换分区
步骤如下:
a 使用fdisk来创建交换分区(假设 /dev/sdb2 是创建的交换分区)
b 使用 mkswap 命令来设置交换分区:
# mkswap /dev/sdb2
c 启用交换分区:
# swapon /dev/sdb2
d 写入/etc/fstab,以便在引导时启用:
/dev/sdb2 swap swap defaults 0 0
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/statusName: bashState: S (sleeping)SleepAVG: 98%Tgid: 5346Pid: 5346PPid: 5343TracerPid: 0Uid: 1000 1000 1000 1000Gid: 104 104 104 104FDSize: 256Groups: 6 24 29 44 104 113 1000 1001VmPeak: 6528 kBVmSize: 6528 kBVmLck: 0 kBVmHWM: 1976 kBVmRSS: 1976 kBVmData: 752 kBVmStk: 84 kBVmExe: 644 kBVmLib: 1788 kBVmPTE: 16 kBThreads: 1SigQ: 0/4294967295SigPnd: 0000000000000000ShdPnd: 0000000000000000SigBlk: 0000000000000000SigIgn: 0000000000384004SigCgt: 000000004b813efbCapInh: 0000000000000000CapPrm: 0000000000000000CapEff: 0000000000000000
VmSize即为该进程内存总大小, 和top输出中的VIRT一致.
什么是Linux系统
Linux是一种免费使用和自由传播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统,使用Linux能运行主要的Unix工具软件、应用程序和网络协议。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网行业资讯频道,感谢您对编程网的支持。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341