zoukankan      html  css  js  c++  java
  • PVE Proxmox Virtual Environment 学习笔记(三)解决ZFS内存高占用ARC

    简介:

    由于使用的是淘汰工作站,都不算什么服务器,所以使用了ZFS的软raid方案来保证数据安全。

    但是ZFS太先进了,而且当年是为sun的工作站设计的,所以它使用了大量的内存来做数据缓存。

    我这小鸡可承受不住这个内存消耗,直接要消耗大约50%的物理内存。

    我们要根据自己的实际情况,来对ARC缓存进行限制。

    一:zfs arc缓存介绍

    算了吧,搜了几个介绍,都是又臭又长的理论文章。

    我简单说一下吧,硬件raid卡会有缓存,还有电池,保证raid的数据稳定。

    zfs的raid,就像软raid,通过计算机的计算来实现raid,但是缓存从哪里来?内存啊,速度比硬盘快的多,而sun的 Solaris,以前就是怪物一样的超级大内存,所以ZFS在设计的时候,就很耗内存,移植到linux之后还带着这样的基因,占用50%的物理内存做zfs缓存。

    二:检查内存占用

    反正我的16G内存老鸡,就占了一半多一点,系统还得占点。

    cockpit,pve,这两个的管理页面都能看到。

    三:设置arc最大内存

    这就是ZFS允许减小允许使用ARC大小的最大大小的原因。此设置在/etc/modprobe.d/zfs.conf文件中完成

    例如,如果您希望ARC永远不要超过32 GB,请添加以下行:

    options zfs zfs_arc_max=34359738368

    我设置为1G

    options zfs zfs_arc_max=1073741824

    简单设置命令为:

    echo“options zfs zfs_arc_max = 1073741824”>> /etc/modprobe.d/zfs.conf

    根据你的物理内存,自己计算吧,1G:1*1024*1024*1024*1024

    四:测试效果

    反正我的是从8G多变成1G多了。

    你就自己看cockpit或PVE的管理界面吧。

  • 相关阅读:
    推荐:负采样
    JNDI学习总结(一)——JNDI数据源的配置
    前端性能优化
    java中的引用类型概念
    java中的各种数据类型在内存中存储的方式
    POI导出EXCEL经典实现
    synchronized 与 Lock 的那点事
    黑马程序员_Map<K,V> 映射关系 Map.Entry
    Java ConcurrentModificationException异常问题
    表 (list)
  • 原文地址:https://www.cnblogs.com/jackadam/p/13150022.html
Copyright © 2011-2022 走看看