Linux内存管理——Swap

swap space

一个磁盘区域,作为内存使用。当系统内存不足时,会将一些很久不使用的数据转移到swap space中。

优点:扩展了内存空间

缺点:用磁盘做内存,读写效率降低

swappiness

swappiness的值表示建议swap space替代内存的比例;即当swappiness为X时,当内存使用了(100%-X)之后,会使用swap space,实际的内存空间大小为(100%-X)*MEM+SWAP。

比如,当swappiness为0时,建议系统只使用物理内存; 当swappiness为100时,建议系统只使用swap缓存。

swappiness值只是一个Linux在判断是否swap的一个“倾向”参考值

查看swappiness:

cat /proc/sys/vm/swappiness  # 一般默认是60。

修改swappiness:

sysctl vm.swappiness=10  # 临时修改
echo "vm.swappiness=10" >> /etc/sysctl.conf  # 永久修改
sysctl -p  # 生效

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux内存管理是一个复杂而强大的系统级概念,它由多个组件和机制组成,以确保内存的有效使用和保护。以下是Linux内存管理的一些关键方面: 1. 内存分区:Linux将物理内存划分为多个分区或区域,每个分区都有不同的用途。例如,内核内存(用于操作系统代码和数据)、交换空间(用于将不再使用的内存页面交换到磁盘上的交换分区)、缓存空间(用于存储最近使用的页面,以便快速访问)等。 2. 页帧管理:页帧是内存管理的关键概念,它代表虚拟内存地址到物理内存地址的映射。Linux使用页帧来处理内存访问,确保正确地寻址和访问物理内存。 3. 交换(Swap):当系统内存不足时,Linux会使用交换机制将不再活跃的进程或数据交换到交换分区,以便为需要更多内存的进程腾出空间。 4. 缓存(Cache):Linux使用缓存来优化内存使用。缓存用于存储最近使用的页面,以便快速访问,从而减少访问时间并提高性能。 5. 请求调度(Request Scheduling):Linux使用请求调度算法来决定将内存分配给哪个进程。这些算法考虑了许多因素,如进程优先级、时间片、系统负载等。 6. 内存管理工具:Linux提供了一组工具,如free、top、vmstat等,用于监视和管理内存使用情况。这些工具可以帮助管理员和开发者了解系统的内存状态,并采取适当的措施来优化内存使用。 总的来说,Linux内存管理机制涉及多个组件和算法,旨在确保系统的稳定性和性能。它通过精细的调度、缓存和交换策略来管理内存资源,以确保在各种负载条件下提供最佳的性能和可用性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值