ceph luminous osd memory usage












0















I am trying to build small CEPH cluster on single box - testing in the lab, before switching bigger probject to it. Run into memory problems and can not find way to control it.



We have old Core2Duo CPU, 4gb ram. Creating 3 OSDs with 3 local 8tb disks.



ceph-deploy will make it and everything runs nice, expcet that for each of 3 OSDs 1 tmpfs partition is being created, which is 2gb and after copying ~50gb of data to CephFS Bluestore - box starts agressively using RAM and ends up with using all the swap. I failed to find correct setting to control, how much RAM OSD process is allowed to use.



It is ok to use more IO, instead of RAM. Looking for help (if that is possible). :) I am building everything on Centos 7.










share|improve this question





























    0















    I am trying to build small CEPH cluster on single box - testing in the lab, before switching bigger probject to it. Run into memory problems and can not find way to control it.



    We have old Core2Duo CPU, 4gb ram. Creating 3 OSDs with 3 local 8tb disks.



    ceph-deploy will make it and everything runs nice, expcet that for each of 3 OSDs 1 tmpfs partition is being created, which is 2gb and after copying ~50gb of data to CephFS Bluestore - box starts agressively using RAM and ends up with using all the swap. I failed to find correct setting to control, how much RAM OSD process is allowed to use.



    It is ok to use more IO, instead of RAM. Looking for help (if that is possible). :) I am building everything on Centos 7.










    share|improve this question



























      0












      0








      0








      I am trying to build small CEPH cluster on single box - testing in the lab, before switching bigger probject to it. Run into memory problems and can not find way to control it.



      We have old Core2Duo CPU, 4gb ram. Creating 3 OSDs with 3 local 8tb disks.



      ceph-deploy will make it and everything runs nice, expcet that for each of 3 OSDs 1 tmpfs partition is being created, which is 2gb and after copying ~50gb of data to CephFS Bluestore - box starts agressively using RAM and ends up with using all the swap. I failed to find correct setting to control, how much RAM OSD process is allowed to use.



      It is ok to use more IO, instead of RAM. Looking for help (if that is possible). :) I am building everything on Centos 7.










      share|improve this question
















      I am trying to build small CEPH cluster on single box - testing in the lab, before switching bigger probject to it. Run into memory problems and can not find way to control it.



      We have old Core2Duo CPU, 4gb ram. Creating 3 OSDs with 3 local 8tb disks.



      ceph-deploy will make it and everything runs nice, expcet that for each of 3 OSDs 1 tmpfs partition is being created, which is 2gb and after copying ~50gb of data to CephFS Bluestore - box starts agressively using RAM and ends up with using all the swap. I failed to find correct setting to control, how much RAM OSD process is allowed to use.



      It is ok to use more IO, instead of RAM. Looking for help (if that is possible). :) I am building everything on Centos 7.







      centos tmpfs ceph






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Sep 25 '18 at 10:50







      user88036

















      asked Jun 9 '18 at 12:39









      Anton AleksandrovAnton Aleksandrov

      11




      11






















          2 Answers
          2






          active

          oldest

          votes


















          0














          This is a common issue, the ceph mailing list is a very helpful archive for these questions, see this. You can reduce the bluestore_cache_size values, the defaults are 3GB for a SSD and 1 GB for a HDD OSD:



          # If bluestore_cache_size is zero, bluestore_cache_size_hdd or bluestore_cache_size_ssd will be used instead.

          host1:~ # ceph daemon osd.3 config show | grep bluestore_cache_size
          "bluestore_cache_size": "0",
          "bluestore_cache_size_hdd": "1073741824",
          "bluestore_cache_size_ssd": "3221225472",


          But according to our monitoring in a production cluster the residual memory is about 3 GB for a HDD-OSD, so you'll have to tweak those values to your needs. The config reference is here.



          I would recommend to start with one OSD first then watch the performance of your node; then add another OSD if the memory (or other measurements) is ok. If you hit the limits with one or two OSDs already you'll have to adjust the configs according to your needs.
          The values can be changed online running:



          host1:~ # ceph daemon osd.<ID> config set bluestore_cache_size[_hdd|_ssd] <VALUE>


          Permanent changes of configs have to be stored in /etc/ceph/ceph.conf






          share|improve this answer































            0














            The Ceph 13.2.2 release notes says the following...




            The bluestore_cache_* options are no longer needed. They are replaced
            by osd_memory_target, defaulting to 4GB. BlueStore will expand and
            contract its cache to attempt to stay within this limit. Users
            upgrading should note this is a higher default than the previous
            bluestore_cache_size of 1GB, so OSDs using BlueStore will use more
            memory by default. For more details, see the BlueStore docs.




            This caught me by surprise. My osds were going absolutely wild with resident memory usage. The kernel was oom-killing osd processes.



            Changing over to the new key and bouncing the osd processes has given me stable performance.






            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%2f448801%2fceph-luminous-osd-memory-usage%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              0














              This is a common issue, the ceph mailing list is a very helpful archive for these questions, see this. You can reduce the bluestore_cache_size values, the defaults are 3GB for a SSD and 1 GB for a HDD OSD:



              # If bluestore_cache_size is zero, bluestore_cache_size_hdd or bluestore_cache_size_ssd will be used instead.

              host1:~ # ceph daemon osd.3 config show | grep bluestore_cache_size
              "bluestore_cache_size": "0",
              "bluestore_cache_size_hdd": "1073741824",
              "bluestore_cache_size_ssd": "3221225472",


              But according to our monitoring in a production cluster the residual memory is about 3 GB for a HDD-OSD, so you'll have to tweak those values to your needs. The config reference is here.



              I would recommend to start with one OSD first then watch the performance of your node; then add another OSD if the memory (or other measurements) is ok. If you hit the limits with one or two OSDs already you'll have to adjust the configs according to your needs.
              The values can be changed online running:



              host1:~ # ceph daemon osd.<ID> config set bluestore_cache_size[_hdd|_ssd] <VALUE>


              Permanent changes of configs have to be stored in /etc/ceph/ceph.conf






              share|improve this answer




























                0














                This is a common issue, the ceph mailing list is a very helpful archive for these questions, see this. You can reduce the bluestore_cache_size values, the defaults are 3GB for a SSD and 1 GB for a HDD OSD:



                # If bluestore_cache_size is zero, bluestore_cache_size_hdd or bluestore_cache_size_ssd will be used instead.

                host1:~ # ceph daemon osd.3 config show | grep bluestore_cache_size
                "bluestore_cache_size": "0",
                "bluestore_cache_size_hdd": "1073741824",
                "bluestore_cache_size_ssd": "3221225472",


                But according to our monitoring in a production cluster the residual memory is about 3 GB for a HDD-OSD, so you'll have to tweak those values to your needs. The config reference is here.



                I would recommend to start with one OSD first then watch the performance of your node; then add another OSD if the memory (or other measurements) is ok. If you hit the limits with one or two OSDs already you'll have to adjust the configs according to your needs.
                The values can be changed online running:



                host1:~ # ceph daemon osd.<ID> config set bluestore_cache_size[_hdd|_ssd] <VALUE>


                Permanent changes of configs have to be stored in /etc/ceph/ceph.conf






                share|improve this answer


























                  0












                  0








                  0







                  This is a common issue, the ceph mailing list is a very helpful archive for these questions, see this. You can reduce the bluestore_cache_size values, the defaults are 3GB for a SSD and 1 GB for a HDD OSD:



                  # If bluestore_cache_size is zero, bluestore_cache_size_hdd or bluestore_cache_size_ssd will be used instead.

                  host1:~ # ceph daemon osd.3 config show | grep bluestore_cache_size
                  "bluestore_cache_size": "0",
                  "bluestore_cache_size_hdd": "1073741824",
                  "bluestore_cache_size_ssd": "3221225472",


                  But according to our monitoring in a production cluster the residual memory is about 3 GB for a HDD-OSD, so you'll have to tweak those values to your needs. The config reference is here.



                  I would recommend to start with one OSD first then watch the performance of your node; then add another OSD if the memory (or other measurements) is ok. If you hit the limits with one or two OSDs already you'll have to adjust the configs according to your needs.
                  The values can be changed online running:



                  host1:~ # ceph daemon osd.<ID> config set bluestore_cache_size[_hdd|_ssd] <VALUE>


                  Permanent changes of configs have to be stored in /etc/ceph/ceph.conf






                  share|improve this answer













                  This is a common issue, the ceph mailing list is a very helpful archive for these questions, see this. You can reduce the bluestore_cache_size values, the defaults are 3GB for a SSD and 1 GB for a HDD OSD:



                  # If bluestore_cache_size is zero, bluestore_cache_size_hdd or bluestore_cache_size_ssd will be used instead.

                  host1:~ # ceph daemon osd.3 config show | grep bluestore_cache_size
                  "bluestore_cache_size": "0",
                  "bluestore_cache_size_hdd": "1073741824",
                  "bluestore_cache_size_ssd": "3221225472",


                  But according to our monitoring in a production cluster the residual memory is about 3 GB for a HDD-OSD, so you'll have to tweak those values to your needs. The config reference is here.



                  I would recommend to start with one OSD first then watch the performance of your node; then add another OSD if the memory (or other measurements) is ok. If you hit the limits with one or two OSDs already you'll have to adjust the configs according to your needs.
                  The values can be changed online running:



                  host1:~ # ceph daemon osd.<ID> config set bluestore_cache_size[_hdd|_ssd] <VALUE>


                  Permanent changes of configs have to be stored in /etc/ceph/ceph.conf







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Sep 25 '18 at 10:25









                  eblockeblock

                  916




                  916

























                      0














                      The Ceph 13.2.2 release notes says the following...




                      The bluestore_cache_* options are no longer needed. They are replaced
                      by osd_memory_target, defaulting to 4GB. BlueStore will expand and
                      contract its cache to attempt to stay within this limit. Users
                      upgrading should note this is a higher default than the previous
                      bluestore_cache_size of 1GB, so OSDs using BlueStore will use more
                      memory by default. For more details, see the BlueStore docs.




                      This caught me by surprise. My osds were going absolutely wild with resident memory usage. The kernel was oom-killing osd processes.



                      Changing over to the new key and bouncing the osd processes has given me stable performance.






                      share|improve this answer




























                        0














                        The Ceph 13.2.2 release notes says the following...




                        The bluestore_cache_* options are no longer needed. They are replaced
                        by osd_memory_target, defaulting to 4GB. BlueStore will expand and
                        contract its cache to attempt to stay within this limit. Users
                        upgrading should note this is a higher default than the previous
                        bluestore_cache_size of 1GB, so OSDs using BlueStore will use more
                        memory by default. For more details, see the BlueStore docs.




                        This caught me by surprise. My osds were going absolutely wild with resident memory usage. The kernel was oom-killing osd processes.



                        Changing over to the new key and bouncing the osd processes has given me stable performance.






                        share|improve this answer


























                          0












                          0








                          0







                          The Ceph 13.2.2 release notes says the following...




                          The bluestore_cache_* options are no longer needed. They are replaced
                          by osd_memory_target, defaulting to 4GB. BlueStore will expand and
                          contract its cache to attempt to stay within this limit. Users
                          upgrading should note this is a higher default than the previous
                          bluestore_cache_size of 1GB, so OSDs using BlueStore will use more
                          memory by default. For more details, see the BlueStore docs.




                          This caught me by surprise. My osds were going absolutely wild with resident memory usage. The kernel was oom-killing osd processes.



                          Changing over to the new key and bouncing the osd processes has given me stable performance.






                          share|improve this answer













                          The Ceph 13.2.2 release notes says the following...




                          The bluestore_cache_* options are no longer needed. They are replaced
                          by osd_memory_target, defaulting to 4GB. BlueStore will expand and
                          contract its cache to attempt to stay within this limit. Users
                          upgrading should note this is a higher default than the previous
                          bluestore_cache_size of 1GB, so OSDs using BlueStore will use more
                          memory by default. For more details, see the BlueStore docs.




                          This caught me by surprise. My osds were going absolutely wild with resident memory usage. The kernel was oom-killing osd processes.



                          Changing over to the new key and bouncing the osd processes has given me stable performance.







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Jan 16 at 17:27









                          MazzystrMazzystr

                          1




                          1






























                              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%2f448801%2fceph-luminous-osd-memory-usage%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

                              How to make a Squid Proxy server?

                              第一次世界大戦

                              Touch on Surface Book