Ext4 cache options on a virtual machineLinux md vs. LVM performanceIs virtual machine slower than the underlying physical machine?Which filesystem for large LVM of disks (8 TB)?Calling sync/fsync slows IO after 30 minutes uptimeHandling the potential risk of writing random bits to storage during power loss with RAIDBetter performance when HDD write cache is disabled? (HGST Ultrastar 7K6000 and Media Cache behavior)What could go wrong with ext4 on LVM on a hardware RAID6?Disabling ext4 write barriers when using an external journalIs there a way to protect SSD from corruption due to power loss?How does SSD meta-data corruption on power-loss happen? And can I minimize it?

Unlock My Phone! February 2018

Forgetting the musical notes while performing in concert

Mathematica command that allows it to read my intentions

How to show a landlord what we have in savings?

How seriously should I take size and weight limits of hand luggage?

Is it possible to create a QR code using text?

Why didn't Boeing produce its own regional jet?

Why was the shrink from 8″ made only to 5.25″ and not smaller (4″ or less)

What is required to make GPS signals available indoors?

How can I deal with my CEO asking me to hire someone with a higher salary than me, a co-founder?

Placement of More Information/Help Icon button for Radio Buttons

Why was Sir Cadogan fired?

GFCI outlets - can they be repaired? Are they really needed at the end of a circuit?

Knowledge-based authentication using Domain-driven Design in C#

Sums of two squares in arithmetic progressions

What reasons are there for a Capitalist to oppose a 100% inheritance tax?

What's the meaning of "Sollensaussagen"?

Does int main() need a declaration on C++?

How to install cross-compiler on Ubuntu 18.04?

Why is it a bad idea to hire a hitman to eliminate most corrupt politicians?

Getting extremely large arrows with tikzcd

What Exploit Are These User Agents Trying to Use?

My ex-girlfriend uses my Apple ID to log in to her iPad. Do I have to give her my Apple ID password to reset it?

What does the same-ish mean?



Ext4 cache options on a virtual machine


Linux md vs. LVM performanceIs virtual machine slower than the underlying physical machine?Which filesystem for large LVM of disks (8 TB)?Calling sync/fsync slows IO after 30 minutes uptimeHandling the potential risk of writing random bits to storage during power loss with RAIDBetter performance when HDD write cache is disabled? (HGST Ultrastar 7K6000 and Media Cache behavior)What could go wrong with ext4 on LVM on a hardware RAID6?Disabling ext4 write barriers when using an external journalIs there a way to protect SSD from corruption due to power loss?How does SSD meta-data corruption on power-loss happen? And can I minimize it?













5















I'm trying to speed up a standup of virtual machines used for development / automated test environments and wanted to verify some assumptions about disk writes caching.



I'm using ext4 for the root filesystem in the VM and I don't really care about power-loss scenarios. If there's a power loss and disk gets corrupted, the whole machine can be rebuilt in a couple of minutes. For me that means the following options can be safely applied and it should make no difference to the applications - they will just affect how the buffered data is written to the disk itself, but the cached in-memory representation will be always accurate:



  • nobarrier

  • data=writeback

  • nobh

  • commit=3600

Is this correct? And are there any other ext4 parameters I should look at for performance improvements?










share|improve this question














bumped to the homepage by Community yesterday


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.










  • 1





    An option that is a good idea to have on any file system - noatime.

    – chutz
    Jun 19 '13 at 15:02











  • Yes, that's true and it's already enabled. These are the new options.

    – viraptor
    Jun 19 '13 at 15:17











  • inside each VM (if linux) set the swapiness setting to ensure the VM's minimize memory swapping. If doesn't need a full VM consider using docker.

    – Matt
    yesterday
















5















I'm trying to speed up a standup of virtual machines used for development / automated test environments and wanted to verify some assumptions about disk writes caching.



I'm using ext4 for the root filesystem in the VM and I don't really care about power-loss scenarios. If there's a power loss and disk gets corrupted, the whole machine can be rebuilt in a couple of minutes. For me that means the following options can be safely applied and it should make no difference to the applications - they will just affect how the buffered data is written to the disk itself, but the cached in-memory representation will be always accurate:



  • nobarrier

  • data=writeback

  • nobh

  • commit=3600

Is this correct? And are there any other ext4 parameters I should look at for performance improvements?










share|improve this question














bumped to the homepage by Community yesterday


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.










  • 1





    An option that is a good idea to have on any file system - noatime.

    – chutz
    Jun 19 '13 at 15:02











  • Yes, that's true and it's already enabled. These are the new options.

    – viraptor
    Jun 19 '13 at 15:17











  • inside each VM (if linux) set the swapiness setting to ensure the VM's minimize memory swapping. If doesn't need a full VM consider using docker.

    – Matt
    yesterday














5












5








5


3






I'm trying to speed up a standup of virtual machines used for development / automated test environments and wanted to verify some assumptions about disk writes caching.



I'm using ext4 for the root filesystem in the VM and I don't really care about power-loss scenarios. If there's a power loss and disk gets corrupted, the whole machine can be rebuilt in a couple of minutes. For me that means the following options can be safely applied and it should make no difference to the applications - they will just affect how the buffered data is written to the disk itself, but the cached in-memory representation will be always accurate:



  • nobarrier

  • data=writeback

  • nobh

  • commit=3600

Is this correct? And are there any other ext4 parameters I should look at for performance improvements?










share|improve this question














I'm trying to speed up a standup of virtual machines used for development / automated test environments and wanted to verify some assumptions about disk writes caching.



I'm using ext4 for the root filesystem in the VM and I don't really care about power-loss scenarios. If there's a power loss and disk gets corrupted, the whole machine can be rebuilt in a couple of minutes. For me that means the following options can be safely applied and it should make no difference to the applications - they will just affect how the buffered data is written to the disk itself, but the cached in-memory representation will be always accurate:



  • nobarrier

  • data=writeback

  • nobh

  • commit=3600

Is this correct? And are there any other ext4 parameters I should look at for performance improvements?







virtualization performance ext4






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Jun 19 '13 at 14:53









viraptorviraptor

61741735




61741735





bumped to the homepage by Community yesterday


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.







bumped to the homepage by Community yesterday


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.









  • 1





    An option that is a good idea to have on any file system - noatime.

    – chutz
    Jun 19 '13 at 15:02











  • Yes, that's true and it's already enabled. These are the new options.

    – viraptor
    Jun 19 '13 at 15:17











  • inside each VM (if linux) set the swapiness setting to ensure the VM's minimize memory swapping. If doesn't need a full VM consider using docker.

    – Matt
    yesterday













  • 1





    An option that is a good idea to have on any file system - noatime.

    – chutz
    Jun 19 '13 at 15:02











  • Yes, that's true and it's already enabled. These are the new options.

    – viraptor
    Jun 19 '13 at 15:17











  • inside each VM (if linux) set the swapiness setting to ensure the VM's minimize memory swapping. If doesn't need a full VM consider using docker.

    – Matt
    yesterday








1




1





An option that is a good idea to have on any file system - noatime.

– chutz
Jun 19 '13 at 15:02





An option that is a good idea to have on any file system - noatime.

– chutz
Jun 19 '13 at 15:02













Yes, that's true and it's already enabled. These are the new options.

– viraptor
Jun 19 '13 at 15:17





Yes, that's true and it's already enabled. These are the new options.

– viraptor
Jun 19 '13 at 15:17













inside each VM (if linux) set the swapiness setting to ensure the VM's minimize memory swapping. If doesn't need a full VM consider using docker.

– Matt
yesterday






inside each VM (if linux) set the swapiness setting to ensure the VM's minimize memory swapping. If doesn't need a full VM consider using docker.

– Matt
yesterday











1 Answer
1






active

oldest

votes


















0














journal_async_commit, noauto_da_alloc, dioread_nolock. See ext4 documentation for descriptions.



Also nouser_xattr, noacl if you don't use them might give minor performance improvements on first lookups (but is not relevant unless you're using order of millions of files).



Note that using commit=3600 (while improving overall time for some operation due to batching) might not be doing what you want. When it triggers (probably much sooner than 3600, due to journal full conditions) you'll have BIG burst of I/O which would stop mostly anything running on the machine until it's finished (which could be minutes, depending on your journal sizes and I/O speeds). Smaller value will give you more but smaller bursts of metadata, so it would not look like machine "hanged". It might or might not be of issue for you.



If you do not want jounrnal, you might want to disable it completely - note that it might improve performance somewhat, but it also might make it worse:



tune2fs -O ^has_journal /dev/sdXX


Also, some specific loads (like creating and removing many small files in small timeframes, like SMTP mail queue of busy mail server for example) might paradoxically actually prefer data=journal to data=writeback (or even no journal at all) - as it will be using journal only (which is linear writes instead of random writes, hence MUCH faster on non-SSD storage).



But most importantly - you will have to benchmark to find which one suits you the best - there is no silver bullet.






share|improve this answer























    Your Answer








    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "2"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f516992%2fext4-cache-options-on-a-virtual-machine%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    journal_async_commit, noauto_da_alloc, dioread_nolock. See ext4 documentation for descriptions.



    Also nouser_xattr, noacl if you don't use them might give minor performance improvements on first lookups (but is not relevant unless you're using order of millions of files).



    Note that using commit=3600 (while improving overall time for some operation due to batching) might not be doing what you want. When it triggers (probably much sooner than 3600, due to journal full conditions) you'll have BIG burst of I/O which would stop mostly anything running on the machine until it's finished (which could be minutes, depending on your journal sizes and I/O speeds). Smaller value will give you more but smaller bursts of metadata, so it would not look like machine "hanged". It might or might not be of issue for you.



    If you do not want jounrnal, you might want to disable it completely - note that it might improve performance somewhat, but it also might make it worse:



    tune2fs -O ^has_journal /dev/sdXX


    Also, some specific loads (like creating and removing many small files in small timeframes, like SMTP mail queue of busy mail server for example) might paradoxically actually prefer data=journal to data=writeback (or even no journal at all) - as it will be using journal only (which is linear writes instead of random writes, hence MUCH faster on non-SSD storage).



    But most importantly - you will have to benchmark to find which one suits you the best - there is no silver bullet.






    share|improve this answer



























      0














      journal_async_commit, noauto_da_alloc, dioread_nolock. See ext4 documentation for descriptions.



      Also nouser_xattr, noacl if you don't use them might give minor performance improvements on first lookups (but is not relevant unless you're using order of millions of files).



      Note that using commit=3600 (while improving overall time for some operation due to batching) might not be doing what you want. When it triggers (probably much sooner than 3600, due to journal full conditions) you'll have BIG burst of I/O which would stop mostly anything running on the machine until it's finished (which could be minutes, depending on your journal sizes and I/O speeds). Smaller value will give you more but smaller bursts of metadata, so it would not look like machine "hanged". It might or might not be of issue for you.



      If you do not want jounrnal, you might want to disable it completely - note that it might improve performance somewhat, but it also might make it worse:



      tune2fs -O ^has_journal /dev/sdXX


      Also, some specific loads (like creating and removing many small files in small timeframes, like SMTP mail queue of busy mail server for example) might paradoxically actually prefer data=journal to data=writeback (or even no journal at all) - as it will be using journal only (which is linear writes instead of random writes, hence MUCH faster on non-SSD storage).



      But most importantly - you will have to benchmark to find which one suits you the best - there is no silver bullet.






      share|improve this answer

























        0












        0








        0







        journal_async_commit, noauto_da_alloc, dioread_nolock. See ext4 documentation for descriptions.



        Also nouser_xattr, noacl if you don't use them might give minor performance improvements on first lookups (but is not relevant unless you're using order of millions of files).



        Note that using commit=3600 (while improving overall time for some operation due to batching) might not be doing what you want. When it triggers (probably much sooner than 3600, due to journal full conditions) you'll have BIG burst of I/O which would stop mostly anything running on the machine until it's finished (which could be minutes, depending on your journal sizes and I/O speeds). Smaller value will give you more but smaller bursts of metadata, so it would not look like machine "hanged". It might or might not be of issue for you.



        If you do not want jounrnal, you might want to disable it completely - note that it might improve performance somewhat, but it also might make it worse:



        tune2fs -O ^has_journal /dev/sdXX


        Also, some specific loads (like creating and removing many small files in small timeframes, like SMTP mail queue of busy mail server for example) might paradoxically actually prefer data=journal to data=writeback (or even no journal at all) - as it will be using journal only (which is linear writes instead of random writes, hence MUCH faster on non-SSD storage).



        But most importantly - you will have to benchmark to find which one suits you the best - there is no silver bullet.






        share|improve this answer













        journal_async_commit, noauto_da_alloc, dioread_nolock. See ext4 documentation for descriptions.



        Also nouser_xattr, noacl if you don't use them might give minor performance improvements on first lookups (but is not relevant unless you're using order of millions of files).



        Note that using commit=3600 (while improving overall time for some operation due to batching) might not be doing what you want. When it triggers (probably much sooner than 3600, due to journal full conditions) you'll have BIG burst of I/O which would stop mostly anything running on the machine until it's finished (which could be minutes, depending on your journal sizes and I/O speeds). Smaller value will give you more but smaller bursts of metadata, so it would not look like machine "hanged". It might or might not be of issue for you.



        If you do not want jounrnal, you might want to disable it completely - note that it might improve performance somewhat, but it also might make it worse:



        tune2fs -O ^has_journal /dev/sdXX


        Also, some specific loads (like creating and removing many small files in small timeframes, like SMTP mail queue of busy mail server for example) might paradoxically actually prefer data=journal to data=writeback (or even no journal at all) - as it will be using journal only (which is linear writes instead of random writes, hence MUCH faster on non-SSD storage).



        But most importantly - you will have to benchmark to find which one suits you the best - there is no silver bullet.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Aug 6 '13 at 14:41









        Matija NalisMatija Nalis

        1,8711628




        1,8711628



























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Server Fault!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f516992%2fext4-cache-options-on-a-virtual-machine%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            RemoteApp sporadic failureWindows 2008 RemoteAPP client disconnects within a matter of minutesWhat is the minimum version of RDP supported by Server 2012 RDS?How to configure a Remoteapp server to increase stabilityMicrosoft RemoteApp Active SessionRDWeb TS connection broken for some users post RemoteApp certificate changeRemote Desktop Licensing, RemoteAPPRDS 2012 R2 some users are not able to logon after changed date and time on Connection BrokersWhat happens during Remote Desktop logon, and is there any logging?After installing RDS on WinServer 2016 I still can only connect with two users?RD Connection via RDGW to Session host is not connecting

            How to write a 12-bar blues melodyI-IV-V blues progressionHow to play the bridges in a standard blues progressionHow does Gdim7 fit in C# minor?question on a certain chord progressionMusicology of Melody12 bar blues, spread rhythm: alternative to 6th chord to avoid finger stretchChord progressions/ Root key/ MelodiesHow to put chords (POP-EDM) under a given lead vocal melody (starting from a good knowledge in music theory)Are there “rules” for improvising with the minor pentatonic scale over 12-bar shuffle?Confusion about blues scale and chords

            Esgonzo ibérico Índice Descrición Distribución Hábitat Ameazas Notas Véxase tamén "Acerca dos nomes dos anfibios e réptiles galegos""Chalcides bedriagai"Chalcides bedriagai en Carrascal, L. M. Salvador, A. (Eds). Enciclopedia virtual de los vertebrados españoles. Museo Nacional de Ciencias Naturales, Madrid. España.Fotos