Tmpfs with overflow on disk? The 2019 Stack Overflow Developer Survey Results Are Intmpfs and vm.swappinessunlimited tmpfsWhat happens when a tmpfs volume is full and swap is full? Is Linux's OOM-killer involved?How can I forbid the Linux kernel from accessing a certain RAM disk?How safe is it to increase tmpfs to more than physical memory?If tmpfs has bigger size than your RAM, how much RAM does it use? Are applications privileged for RAM?How to reserve ram for ramdisk (tmpfs) but also prevent it from swapingRAM alternative to swap partion or swap file on an SSDMount /var/logs as tmpfs, with help of overlayfs to save changes sometimesFilesystem in RAM that swaps to disk after a specified size

Protecting Dualbooting Windows from dangerous code (like rm -rf)

Why was M87 targetted for the Event Horizon Telescope instead of Sagittarius A*?

What is the motivation for a law requiring 2 parties to consent for recording a conversation

Do these rules for Critical Successes and Critical Failures seem Fair?

Did 3000BC Egyptians use meteoric iron weapons?

slides for 30min~1hr skype tenure track application interview

Did Section 31 appear in Star Trek: The Next Generation?

What is the meaning of the verb "bear" in this context?

If a Druid sees an animal’s corpse, can they wild shape into that animal?

What to do when moving next to a bird sanctuary with a loosely-domesticated cat?

What does Linus Torvalds mean when he says that Git "never ever" tracks a file?

Is a "Democratic" Oligarchy-Style System Possible?

Can one be advised by a professor who is very far away?

Pokemon Turn Based battle (Python)

When should I buy a clipper card after flying to OAK?

What do the Banks children have against barley water?

Where to refill my bottle in India?

Why isn't the circumferential light around the M87 black hole's event horizon symmetric?

Have you ever entered Singapore using a different passport or name?

Multiply Two Integer Polynomials

Falsification in Math vs Science

Are spiders unable to hurt humans, especially very small spiders?

Why do we hear so much about the Trump administration deciding to impose and then remove tariffs?

Should I use my personal e-mail address, or my workplace one, when registering to external websites for work purposes?



Tmpfs with overflow on disk?



The 2019 Stack Overflow Developer Survey Results Are Intmpfs and vm.swappinessunlimited tmpfsWhat happens when a tmpfs volume is full and swap is full? Is Linux's OOM-killer involved?How can I forbid the Linux kernel from accessing a certain RAM disk?How safe is it to increase tmpfs to more than physical memory?If tmpfs has bigger size than your RAM, how much RAM does it use? Are applications privileged for RAM?How to reserve ram for ramdisk (tmpfs) but also prevent it from swapingRAM alternative to swap partion or swap file on an SSDMount /var/logs as tmpfs, with help of overlayfs to save changes sometimesFilesystem in RAM that swaps to disk after a specified size



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








2















I'm looking for a way to have a tmpfs-like file system that can be unlimited in size, but will use a specified amount of RAM after which the "oversize" data will be stored on another disk-backed filesystem



tmpfs



I'm running on a SSD-only system, with low available space (usually < 3 GB), so I don't want to reserve any space for SWAP or similar (that's my main requirement)



Do you know of any solution that would fit my use-case ?










share|improve this question
























  • The functionality you desire is already the default behaviour. Linux automatically caches files in RAM for you. Maybe you should describe your use case in more detail.

    – frostschutz
    Apr 22 '16 at 22:32

















2















I'm looking for a way to have a tmpfs-like file system that can be unlimited in size, but will use a specified amount of RAM after which the "oversize" data will be stored on another disk-backed filesystem



tmpfs



I'm running on a SSD-only system, with low available space (usually < 3 GB), so I don't want to reserve any space for SWAP or similar (that's my main requirement)



Do you know of any solution that would fit my use-case ?










share|improve this question
























  • The functionality you desire is already the default behaviour. Linux automatically caches files in RAM for you. Maybe you should describe your use case in more detail.

    – frostschutz
    Apr 22 '16 at 22:32













2












2








2


1






I'm looking for a way to have a tmpfs-like file system that can be unlimited in size, but will use a specified amount of RAM after which the "oversize" data will be stored on another disk-backed filesystem



tmpfs



I'm running on a SSD-only system, with low available space (usually < 3 GB), so I don't want to reserve any space for SWAP or similar (that's my main requirement)



Do you know of any solution that would fit my use-case ?










share|improve this question
















I'm looking for a way to have a tmpfs-like file system that can be unlimited in size, but will use a specified amount of RAM after which the "oversize" data will be stored on another disk-backed filesystem



tmpfs



I'm running on a SSD-only system, with low available space (usually < 3 GB), so I don't want to reserve any space for SWAP or similar (that's my main requirement)



Do you know of any solution that would fit my use-case ?







linux tmpfs ramdisk






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 2 days ago









Glorfindel

3391511




3391511










asked Apr 22 '16 at 22:12









mickael9mickael9

1112




1112












  • The functionality you desire is already the default behaviour. Linux automatically caches files in RAM for you. Maybe you should describe your use case in more detail.

    – frostschutz
    Apr 22 '16 at 22:32

















  • The functionality you desire is already the default behaviour. Linux automatically caches files in RAM for you. Maybe you should describe your use case in more detail.

    – frostschutz
    Apr 22 '16 at 22:32
















The functionality you desire is already the default behaviour. Linux automatically caches files in RAM for you. Maybe you should describe your use case in more detail.

– frostschutz
Apr 22 '16 at 22:32





The functionality you desire is already the default behaviour. Linux automatically caches files in RAM for you. Maybe you should describe your use case in more detail.

– frostschutz
Apr 22 '16 at 22:32










1 Answer
1






active

oldest

votes


















0














You can use dmsetup to set a linear device made of a /dev/ramX plus your /dev/sdX disk-device.



For instance, from the command prompt type:



dmsetup create mydev << EOF
> 0 65536 linear /dev/ram0 0
> 65536 262144 linear /dev/sdb 0
> EOF


The above creates a logical device named mydev made of a 32MB (65536 sectors) ramdisk plus the first 128MB (262144 sectors) of /dev/sdb. Of course replace /dev/sdb with the actual device file for your disk.



You may also want to use the exact size (or a bit less) of your disk or partition, and for that you need to know that size expressed in 512-bytes sectors. In order to know that for e.g. the /dev/sdb1 device you may do:



grep sdb1 /proc/partitions


and then use the big number that appears on the left of the device name, multiplied by 2. (because that big number is expressed in 1024-bytes blocks).



Then you have to format mydev with your file-system type of choice. For instance:



mkfs.ext4 /dev/mapper/mydev


Finally mount it with:



mount /dev/mapper/mydev /mnt


Replace /mnt with the actual directory you want to use as mount point, and enjoy.



To remove everything, do:



umount /mnt
dmsetup remove mydev


However it’s worth saying that this setup is less efficient than direct tmpfs filesystems, because tmpfs is already a (virtual) file-system on top of Linux's virtual memory manager, whereas ramdisks need an additional operation of memory-pages copying, plus they still require a regular file-system with its overhead on top of them.






share|improve this answer

























    Your Answer








    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "106"
    ;
    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: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    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%2funix.stackexchange.com%2fquestions%2f278451%2ftmpfs-with-overflow-on-disk%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














    You can use dmsetup to set a linear device made of a /dev/ramX plus your /dev/sdX disk-device.



    For instance, from the command prompt type:



    dmsetup create mydev << EOF
    > 0 65536 linear /dev/ram0 0
    > 65536 262144 linear /dev/sdb 0
    > EOF


    The above creates a logical device named mydev made of a 32MB (65536 sectors) ramdisk plus the first 128MB (262144 sectors) of /dev/sdb. Of course replace /dev/sdb with the actual device file for your disk.



    You may also want to use the exact size (or a bit less) of your disk or partition, and for that you need to know that size expressed in 512-bytes sectors. In order to know that for e.g. the /dev/sdb1 device you may do:



    grep sdb1 /proc/partitions


    and then use the big number that appears on the left of the device name, multiplied by 2. (because that big number is expressed in 1024-bytes blocks).



    Then you have to format mydev with your file-system type of choice. For instance:



    mkfs.ext4 /dev/mapper/mydev


    Finally mount it with:



    mount /dev/mapper/mydev /mnt


    Replace /mnt with the actual directory you want to use as mount point, and enjoy.



    To remove everything, do:



    umount /mnt
    dmsetup remove mydev


    However it’s worth saying that this setup is less efficient than direct tmpfs filesystems, because tmpfs is already a (virtual) file-system on top of Linux's virtual memory manager, whereas ramdisks need an additional operation of memory-pages copying, plus they still require a regular file-system with its overhead on top of them.






    share|improve this answer





























      0














      You can use dmsetup to set a linear device made of a /dev/ramX plus your /dev/sdX disk-device.



      For instance, from the command prompt type:



      dmsetup create mydev << EOF
      > 0 65536 linear /dev/ram0 0
      > 65536 262144 linear /dev/sdb 0
      > EOF


      The above creates a logical device named mydev made of a 32MB (65536 sectors) ramdisk plus the first 128MB (262144 sectors) of /dev/sdb. Of course replace /dev/sdb with the actual device file for your disk.



      You may also want to use the exact size (or a bit less) of your disk or partition, and for that you need to know that size expressed in 512-bytes sectors. In order to know that for e.g. the /dev/sdb1 device you may do:



      grep sdb1 /proc/partitions


      and then use the big number that appears on the left of the device name, multiplied by 2. (because that big number is expressed in 1024-bytes blocks).



      Then you have to format mydev with your file-system type of choice. For instance:



      mkfs.ext4 /dev/mapper/mydev


      Finally mount it with:



      mount /dev/mapper/mydev /mnt


      Replace /mnt with the actual directory you want to use as mount point, and enjoy.



      To remove everything, do:



      umount /mnt
      dmsetup remove mydev


      However it’s worth saying that this setup is less efficient than direct tmpfs filesystems, because tmpfs is already a (virtual) file-system on top of Linux's virtual memory manager, whereas ramdisks need an additional operation of memory-pages copying, plus they still require a regular file-system with its overhead on top of them.






      share|improve this answer



























        0












        0








        0







        You can use dmsetup to set a linear device made of a /dev/ramX plus your /dev/sdX disk-device.



        For instance, from the command prompt type:



        dmsetup create mydev << EOF
        > 0 65536 linear /dev/ram0 0
        > 65536 262144 linear /dev/sdb 0
        > EOF


        The above creates a logical device named mydev made of a 32MB (65536 sectors) ramdisk plus the first 128MB (262144 sectors) of /dev/sdb. Of course replace /dev/sdb with the actual device file for your disk.



        You may also want to use the exact size (or a bit less) of your disk or partition, and for that you need to know that size expressed in 512-bytes sectors. In order to know that for e.g. the /dev/sdb1 device you may do:



        grep sdb1 /proc/partitions


        and then use the big number that appears on the left of the device name, multiplied by 2. (because that big number is expressed in 1024-bytes blocks).



        Then you have to format mydev with your file-system type of choice. For instance:



        mkfs.ext4 /dev/mapper/mydev


        Finally mount it with:



        mount /dev/mapper/mydev /mnt


        Replace /mnt with the actual directory you want to use as mount point, and enjoy.



        To remove everything, do:



        umount /mnt
        dmsetup remove mydev


        However it’s worth saying that this setup is less efficient than direct tmpfs filesystems, because tmpfs is already a (virtual) file-system on top of Linux's virtual memory manager, whereas ramdisks need an additional operation of memory-pages copying, plus they still require a regular file-system with its overhead on top of them.






        share|improve this answer















        You can use dmsetup to set a linear device made of a /dev/ramX plus your /dev/sdX disk-device.



        For instance, from the command prompt type:



        dmsetup create mydev << EOF
        > 0 65536 linear /dev/ram0 0
        > 65536 262144 linear /dev/sdb 0
        > EOF


        The above creates a logical device named mydev made of a 32MB (65536 sectors) ramdisk plus the first 128MB (262144 sectors) of /dev/sdb. Of course replace /dev/sdb with the actual device file for your disk.



        You may also want to use the exact size (or a bit less) of your disk or partition, and for that you need to know that size expressed in 512-bytes sectors. In order to know that for e.g. the /dev/sdb1 device you may do:



        grep sdb1 /proc/partitions


        and then use the big number that appears on the left of the device name, multiplied by 2. (because that big number is expressed in 1024-bytes blocks).



        Then you have to format mydev with your file-system type of choice. For instance:



        mkfs.ext4 /dev/mapper/mydev


        Finally mount it with:



        mount /dev/mapper/mydev /mnt


        Replace /mnt with the actual directory you want to use as mount point, and enjoy.



        To remove everything, do:



        umount /mnt
        dmsetup remove mydev


        However it’s worth saying that this setup is less efficient than direct tmpfs filesystems, because tmpfs is already a (virtual) file-system on top of Linux's virtual memory manager, whereas ramdisks need an additional operation of memory-pages copying, plus they still require a regular file-system with its overhead on top of them.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited 2 days ago

























        answered 2 days ago









        LL3LL3

        1,2099




        1,2099



























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Unix & Linux Stack Exchange!


            • 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%2funix.stackexchange.com%2fquestions%2f278451%2ftmpfs-with-overflow-on-disk%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







            -linux, ramdisk, tmpfs

            Popular posts from this blog

            Frič See also Navigation menuinternal link

            Identify plant with long narrow paired leaves and reddish stems Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?What is this plant with long sharp leaves? Is it a weed?What is this 3ft high, stalky plant, with mid sized narrow leaves?What is this young shrub with opposite ovate, crenate leaves and reddish stems?What is this plant with large broad serrated leaves?Identify this upright branching weed with long leaves and reddish stemsPlease help me identify this bulbous plant with long, broad leaves and white flowersWhat is this small annual with narrow gray/green leaves and rust colored daisy-type flowers?What is this chilli plant?Does anyone know what type of chilli plant this is?Help identify this plant

            fontconfig warning: “/etc/fonts/fonts.conf”, line 100: unknown “element blank” The 2019 Stack Overflow Developer Survey Results Are In“tar: unrecognized option --warning” during 'apt-get install'How to fix Fontconfig errorHow do I figure out which font file is chosen for a system generic font alias?Why are some apt-get-installed fonts being ignored by fc-list, xfontsel, etc?Reload settings in /etc/fonts/conf.dTaking 30 seconds longer to boot after upgrade from jessie to stretchHow to match multiple font names with a single <match> element?Adding a custom font to fontconfigRemoving fonts from fontconfig <match> resultsBroken fonts after upgrading Firefox ESR to latest Firefox