The book "HBase: The definitive guide" states that

Installing different filesystems on a single server is not recommended. This can have adverse effects on performance as the kernel may have to split buffer caches to support the different filesystems. It has been reported that, for certain operating systems, this can have a devastating performance impact.

Does this really apply to Linux? I have never seen the buffer cache bigger than 300 Mbytes and most modern servers have gigabytes of RAM so splitting the buffer cache between different filesystems should not be an issue. Am I missing something else?

  • 1
    Maybe try emailing/tweeting the author.. let's get his/her input! – Dolan Antenucci Jan 17 '13 at 21:00

Splitting the buffer cache is detrimental, but the effect it has is minimal. I'd guess that it's so small that it is basically impossible to measure.

You have to remember that data between different mount points is unshareable too.

While different file systems use different allocation buffers, it's not like the memory is allocated just to sit there and look pretty. Data from slabtop for a system running 3 different file systems (XFS, ext4, btrfs):

 42882  42460  99%    0.70K   1866       23     29856K shmem_inode_cache
 14483  13872  95%    0.90K    855       17     13680K ext4_inode_cache
  4096   4096 100%    0.02K     16      256        64K jbd2_revoke_table_s
  2826   1136  40%    0.94K    167       17      2672K xfs_inode
  1664   1664 100%    0.03K     13      128        52K jbd2_revoke_record_
  1333    886  66%    1.01K     43       31      1376K btrfs_inode_cache
(many other objects)

As you can see, any really sizeable cache has utilisation level of over 90%. As such, if you're using multiple file systems in parallel, the cost is about equal to to loosing 5% of system memory, less if the computer is not a dedicated file server.

  • +1 for informing me about the slabtop command! – Scott Jan 17 '13 at 19:43
  • I'd say that since those caches are mutually exclusive it doesn't really matter (but still can have an impact to resource constrained systems). – poige Mar 10 '13 at 0:15

I don't think there's a negative impact. I often have ext3/ext4 mixed with XFS (and even ZFS) on the same server setup. I would not describe my performance as being anything less than expected, given the hardware I'm running on.

[root@Lancaster ~]# mount
/dev/cciss/c0d0p2 on / type ext4 (rw)
/dev/cciss/c0d0p7 on /tmp type ext4 (rw,nobarrier)
/dev/cciss/c0d0p3 on /usr type ext4 (rw,nobarrier)
/dev/cciss/c0d0p6 on /var type ext4 (rw,nobarrier)
vol2/images on /images type zfs (rw,xattr)
vol1/ppro on /ppro type zfs (rw,noatime,xattr)
vol3/Lancaster_Test on /srv/Lancaster_Test type zfs (rw,noatime,xattr)

Are you concerned about a specific scenario? What filesystems would be in play? What distribution are you on?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.