DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run Scan×
Skip to content
World desk12 min

ZFS ARC vs Linux Page Cache: How Memory Use Differs

ZFS ARC and Linux’s page cache both use RAM for faster I/O, but they are separate systems. This guide explains their counters, reclaim behavior, pressure signals, and safe troubleshooting steps.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

ZFS ARC and the Linux page cache both keep recently used data in RAM, but they are separate cache systems. The ARC caches ZFS blocks; Linux’s Cached value reports file page cache plus tmpfs/shmem and is not an ARC meter. To decide whether a host has enough memory, read ARC statistics together with MemAvailable, file-cache counters, and evidence of workload pressure—not the size of either cache alone.

What ZFS ARC and the Linux page cache actually cache

ZFS ARC is a ZFS-managed block cache

OpenZFS describes the Adaptive Replacement Cache (ARC) as its in-memory cache. It stores ZFS data and metadata blocks in RAM so repeated reads can avoid storage access. ARC policy is adaptive: it balances recently used data with frequently used data rather than treating every cached block identically.

As an Amazon Associate I earn from qualifying purchases.

ARC admission can be changed per dataset with the primarycache property:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • all permits both data and metadata blocks to enter ARC. This is the documented default.
  • metadata permits metadata but not ordinary file data.
  • none prevents primary-cache use for that dataset.

These settings change what ZFS places in ARC; they do not turn ARC into Linux’s page cache or make the two counters interchangeable.

#1 Best Overall
Sale
TOZO A1 Wireless Earbuds Bluetooth 5.3 Light Weight in Ear Headphones
  • [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
  • [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
  • [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
  • [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
  • [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.

Linux page cache is the kernel’s file cache

Linux keeps file contents read from storage in the page cache. In /proc/meminfo, the Cached field includes that file cache together with tmpfs and shmem pages. It excludes SwapCached. A high value therefore says that Linux has many cacheable file-backed or tmpfs/shmem pages in memory; it does not say how much RAM ARC is using.

Both mechanisms can improve read performance, but they operate at different layers. ZFS sees blocks through its storage stack, while the Linux page cache represents file-backed pages at the kernel’s virtual-filesystem layer. On an OpenZFS Linux host, both may be active at once.

ARC versus Linux memory counters at a glance

Question ZFS ARC Linux page-cache and memory view
What is cached? ZFS-managed data and metadata blocks in an adaptive in-memory cache. File pages read from storage; Cached also includes tmpfs/shmem and excludes SwapCached.
Where is it inspected? /proc/spl/kstat/zfs/arcstats; release-specific ARC utilities such as zarcsummary or zarcstat. /proc/meminfo, especially Cached, Active(file), Inactive(file), and MemAvailable.
Does a large value prove a problem? No. ARC size must be considered with its target, reclaim indicators, available memory, and workload behavior. No. Linux normally reclaims cache when memory is needed, and the counters are not independent buckets.
What happens under pressure? OpenZFS exposes a Linux shrinker; ARC can reduce its target. Optional controls govern interaction with page-cache reclaim. The kernel reclaims file cache and other reclaimable memory as needed, subject to what is clean and reclaimable.

Why “used RAM” and “Cached” can be misleading

Cached is not “all Linux cache” and not an ARC reading

The Linux documentation defines Cached narrowly: file cache plus tmpfs/shmem, without SwapCached. ARC is a separate ZFS subsystem, so reading Cached as though it were “ARC plus page cache” produces the wrong diagnosis. Conversely, treating a low Cached value as proof that ARC is small is also incorrect.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Exact placement of ZFS allocations in overall kernel accounting can vary with the OpenZFS and kernel implementation. The safe conclusion is that Cached is not an ARC meter; use ARC-specific statistics for ARC.

MemAvailable is the practical headroom estimate

MemAvailable is Linux’s estimate of how much memory can be given to new applications without swapping. Its calculation considers free memory, reclaimable slab, file-LRU pages, and zone watermarks. It also accounts for the fact that not every object labelled reclaimable can actually be reclaimed immediately.

That makes MemAvailable more useful for answering “can this host accommodate more work?” than subtracting one cache counter from total RAM. Linux documentation warns that non-overlapping counters may not add up to total memory usage and that the difference can be substantial for some workloads. Do not add every line in /proc/meminfo and expect a meaningful total.

How ARC and page-cache reclaim interact on Linux

OpenZFS for Linux provides an ARC shrinker so the kernel can ask ARC to release memory under pressure. The kernel’s page-cache LRU is reclaimed through a separate path. This means ARC and page cache can affect each other during a real memory shortage even though they are accounted for by different interfaces.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Sale
Smart Watch for Men Women Compatible with iPhone Samsung Android Phone 1.69 inch Full Touch Screen IP68 Waterproof Bluetooh Fitness Tracker Heart Rate/Sleep Monitor (Black)
  • 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
  • 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
  • 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
  • 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
  • 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.

OpenZFS documents zfs_arc_pc_percent for this pressure/reclaim interaction. The setting relates ARC reclaim to page-cache size; it is not a general-purpose “make ARC smaller” switch for every workload. The OpenZFS 2.4 zfs.4 documentation lists a default of 0, meaning the control is off by default in that release. Defaults and behavior are version-sensitive, so check the documentation for the OpenZFS release actually installed before changing it.

ARC statistics also expose reclaim state. In the documented arcstat fields, size is current ARC size, need represents reclaim need, and free and avail describe available memory from ARC’s perspective. The manual notes that the free estimate includes evictable page-cache memory and that avail is usually the more instructive value to observe. avail can temporarily become negative; when that happens, ARC reduces its target.

How to measure both caches correctly

1. Capture Linux’s related memory counters together

Start with the documented categories rather than a single headline number:

grep -E '^(MemAvailable|Cached|Active(file)|Inactive(file)|Dirty|Writeback):' /proc/meminfo

Read the output as a set of related indicators. Active(file) and Inactive(file) describe file-backed pages on the active and inactive LRUs. Dirty and Writeback identify data that is being modified or written; dirty data is not equivalent to immediately discardable clean cache. None of these lines is an ARC-specific measurement.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

2. Read ARC’s own statistics

Inspect the kernel statistics file:

/proc/spl/kstat/zfs/arcstats

Use the file directly or an installed utility. Current OpenZFS caching documentation names zarcsummary and zarcstat; older installations may provide commands named arc_summary or arcstat. Confirm the names and field layout supplied by your release instead of assuming that a command from another distribution is present.

When sampling ARC, pay particular attention to:

  • size: how much memory ARC currently occupies.
  • need: whether ARC is being asked to reclaim memory.
  • free: an estimate that includes evictable page-cache memory.
  • avail: the more instructive availability estimate in the cited ARC documentation; a temporary negative value can trigger ARC target reduction.

3. Observe trends, not one sample

Take the Linux and ARC readings while the workload is idle, during its normal peak, and while a reported slowdown occurs. A single large ARC size or Cached value cannot distinguish a healthy warm cache from a system that is struggling to reclaim memory. Trends in MemAvailable, ARC need/avail, and application behavior provide that context.

4. Confirm the installed release before interpreting tunables

OpenZFS utility names, defaults, and Linux reclaim behavior have changed across releases. The cited OpenZFS 2.4 manual documents the current default for zfs_arc_pc_percent; historical tuning pages contain older entries. Record the installed OpenZFS and kernel versions alongside your measurements before comparing them with documentation or advice written for another release.

Rank #3
New Bee Guitar Cable 10ft Electric Instrument Bass AMP Cord
  • [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
  • [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
  • [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
  • [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
  • [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by

How to interpret common memory situations

What you observe What it usually means What to check next
ARC is large, but MemAvailable remains healthy and the workload is responsive. RAM is being used for a useful ZFS cache. Size alone does not establish a leak. Continue monitoring under peak load; verify that ARC hit behavior and application performance meet expectations.
Cached is large while MemAvailable is still substantial. Linux has accumulated reclaimable file or tmpfs/shmem pages. The cache is not automatically a shortage. Check whether availability falls during the actual workload and whether dirty/writeback activity is high.
MemAvailable falls sharply, ARC shows reclaim need, or ARC avail becomes negative. The host is experiencing memory pressure and ARC is being pushed toward a smaller target. Correlate the time with workload impact, swap activity, and version-specific reclaim settings before tuning.
A large number is visible in one counter, but other counters do not reconcile arithmetically. Linux memory fields overlap or represent different classes of pages; they are not designed to be blindly summed. Use the documented definitions and evaluate headroom through MemAvailable rather than forcing a hand-built total.

Do ARC and page cache represent duplicate memory?

They are different accounting views owned by different subsystems. A file read through a ZFS dataset can be relevant to both the filesystem’s block cache and Linux’s file-cache machinery, but the counters have different definitions and are not safe to add as if they were disjoint allocations. The practical rule is to use ARC statistics for ARC and /proc/meminfo for Linux’s memory view.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Do not attempt to calculate application-owned RAM by subtracting Cached and ARC size from total memory. Linux explicitly notes that memory fields overlap and that non-overlapping counters may still fail to add to total usage. Use MemAvailable as the headroom estimate, then validate it against application behavior and reclaim activity.

Common interpretation mistakes

  • Calling every high cache value a leak. Both caches are designed to occupy otherwise useful RAM and release it when required.
  • Reading Cached as an ARC gauge. It measures Linux file cache plus tmpfs/shmem, not ZFS ARC.
  • Adding all /proc/meminfo lines. Several fields overlap or describe different page states.
  • Ignoring dirty and writeback pages. Modified pages cannot be treated as instantly discardable clean cache.
  • Copying a tunable from an old guide. OpenZFS defaults and utility names depend on the installed release.
  • Judging success by a smaller cache. A smaller cache can simply mean more storage reads and worse latency; the goal is adequate headroom and reliable workload performance.

Why is ZFS using so much memory?

Usually, ARC is using otherwise idle RAM to avoid future storage reads. That is its purpose, and a high ARC size is expected on a host with a read-heavy workload and available memory. The meaningful question is whether the system can reclaim memory when applications need it and whether performance suffers.

Investigate further when high ARC coincides with falling MemAvailable, ARC reclaim need, negative or collapsing avail, swapping, allocation failures, or observable workload degradation. Those symptoms establish pressure; the ARC size by itself does not.

Is ZFS ARC included in Linux’s cache figure?

No. Linux’s documented Cached field covers file page cache plus tmpfs/shmem and excludes SwapCached; it is not a ZFS ARC counter. ARC must be inspected through OpenZFS statistics. The two systems can both consume RAM and can interact during reclaim, which is why a host may show substantial values in both places without either value being a duplicate measurement.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Should you change primarycache?

primarycache is a workload-specific storage policy, not a general memory emergency switch. Use all when both data and metadata benefit from ARC, metadata when retaining directory and filesystem metadata is useful but caching file data would displace more valuable memory, and none when a dataset should bypass primary ARC caching. The documented default is all.

Changing the property can alter read performance and storage traffic. Establish which dataset is consuming memory, measure the workload before and after, and make the change only when the caching policy matches the access pattern. Do not infer that every large ARC requires a dataset-level restriction.

Rank #4
BSIMB 15.6" Digital Family Calendar & Chore Chart, No Subscription Fees
  • Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
  • Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
  • All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
  • Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
  • Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

When does zfs_arc_pc_percent make sense?

This control is relevant to Linux memory-pressure and reclaim behavior, not to routine cache grooming. Because the documented default is release-dependent—and OpenZFS 2.4 documents 0—first verify the installed release and establish that the host has genuine pressure. Then test any change against application latency, MemAvailable, ARC reclaim indicators, and storage I/O. A setting copied from an older tuning guide may not describe current behavior.

Why dropping caches is usually the wrong fix

Linux exposes a cache-drop interface, commonly invoked for testing with:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
echo 3 > /proc/sys/vm/drop_caches

The kernel documentation says this releases clean page-cache pages and reclaimable slab objects. It does not free dirty objects, and rebuilding discarded cache can impose additional I/O and CPU work. The documentation explicitly says the interface is not a mechanism for controlling cache growth and that use outside testing or debugging is not recommended.

Dropping Linux caches also does not provide a principled way to size ARC. It can make a healthy system look slower while the caches warm again, without addressing the workload or reclaim policy that caused the concern. Diagnose pressure with MemAvailable, ARC statistics, and workload symptoms first.

A practical troubleshooting workflow

  1. Define the symptom. Record whether the issue is low application availability, allocation failures, swapping, latency, or simply a large cache number.
  2. Capture Linux counters. Save MemAvailable, Cached, file-LRU counters, Dirty, and Writeback during normal and peak periods.
  3. Capture ARC counters. Read /proc/spl/kstat/zfs/arcstats or use the release’s ARC utility; track size, need, free, and avail.
  4. Compare the timelines. Look for falling headroom and reclaim activity at the same time as the reported workload impact.
  5. Check versions and defaults. Verify the installed kernel and OpenZFS releases before interpreting shrinker behavior or zfs_arc_pc_percent.
  6. Choose the narrowest intervention. Adjust a dataset’s primarycache only for a demonstrated workload reason; consider reclaim controls only after confirming pressure and release-specific behavior.
  7. Re-measure after any change. Keep the same sampling points and compare application performance, availability, ARC reclaim, and I/O rather than judging by cache size alone.

What to record during an incident

Capture a short time series rather than a single command result. Record timestamps, workload activity, MemAvailable, Cached, Active(file), Inactive(file), Dirty, and Writeback. At the same times, record ARC size, need, free, and avail. Note application latency, allocation failures, swapping, and storage I/O as separate symptoms.

This record helps distinguish three cases: a warm cache with healthy headroom, a reclaim event that briefly lowers cache sizes, and sustained pressure that affects the workload. It also prevents a common troubleshooting error—changing a setting after seeing one alarming number and then having no comparable baseline for the result.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Version and scope limits

This comparison applies to Linux systems using OpenZFS. The OpenZFS 2.4 zfs.4 documentation gives zfs_arc_pc_percent=0 as its default, but other releases may differ. The Linux /proc/meminfo definitions cited here come from kernel documentation for version 6.17, while the cache-drop behavior cited comes from documentation for version 5.17. Those references explain the accounting concepts and operational warning; they should not be treated as a promise that every implementation detail is identical on every kernel or OpenZFS release.

The bottom line

ARC and page cache are complementary but independently accounted-for caches. Use ARC statistics to understand ZFS, use MemAvailable and Linux file-cache counters to understand system headroom, and judge pressure by reclaim activity and workload impact. A large cache is normally a performance resource; it becomes a problem only when the host cannot reclaim enough memory or the workload shows measurable distress.

Frequently Asked Questions

How do I tell whether Linux has enough memory?

Check MemAvailable together with workload behavior, swap activity, file-cache counters, and ARC reclaim indicators. Do not decide from total used RAM or Cached alone.

Is a large ZFS ARC a memory leak?

Not by itself. ARC is intended to use available RAM. A problem is more likely when MemAvailable falls, ARC reports reclaim need, avail becomes negative or collapses, swapping occurs, or applications slow down.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Is ZFS ARC included in Linux’s Cached value?

No. Linux defines Cached as file page cache plus tmpfs/shmem, excluding SwapCached. Inspect ARC through /proc/spl/kstat/zfs/arcstats or the utility supplied by your OpenZFS release.

Should I reduce ARC whenever Linux shows high cache use?

No. High cache use is normally useful and reclaimable. First confirm real pressure with MemAvailable, ARC need/avail, and workload symptoms.

What does primarycache=metadata do?

It allows dataset metadata into ARC while preventing ordinary file data from entering the primary cache. It is a workload-specific policy; the documented default is all, and changing it can affect read performance and storage traffic.

What is the documented default for zfs_arc_pc_percent?

OpenZFS 2.4 documents a default of 0, meaning the control is off in that release. Defaults and behavior are version-sensitive, so verify the installed OpenZFS documentation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Does echo 3 > /proc/sys/vm/drop_caches solve memory pressure?

It is intended for testing or debugging, not routine cache management. It drops clean page cache and reclaimable slab objects, does not free dirty objects, and can add I/O and CPU cost while caches rebuild.

Why do Linux memory counters not add up?

The kernel documents overlapping and differently defined fields. Non-overlapping counters may still fail to equal total memory for some workloads, so use their definitions and MemAvailable instead of constructing a total by blindly adding lines.

The Bottom Line

ARC and Linux page cache use RAM for different purposes and expose different accounting. Read ARC statistics, MemAvailable, file-cache counters, and workload symptoms together; never treat a large cache number alone as proof of a memory problem.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.