fosstodon.org is one of the many independent Mastodon servers you can use to participate in the fediverse.
Fosstodon is an invite only Mastodon instance that is open to those who are interested in technology; particularly free & open source software. If you wish to join, contact us for an invite.

Administered by:

Server stats:

8.8K
active users

#tcmalloc

0 posts0 participants0 posts today
Admin Jerry<p>As my <a href="https://hear-me.social/tags/Friendica" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Friendica</span></a> server, my-place.social, has grown to some 315 active users in just 5 months, I'm starting to hit up against <a href="https://hear-me.social/tags/mariaDB" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>mariaDB</span></a> limitations relating to the default memory manager, <a href="https://hear-me.social/tags/MALLOC" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MALLOC</span></a>. This weekend I'm going to replace it with <a href="https://hear-me.social/tags/jemalloc" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>jemalloc</span></a> to reduce stalls, memory fragmentation issues, out-of-memory problems, and instability.</p><p>Friendica puts a lot of pressure on the database, mariaDB in this case, much more than Mastodon apparently does on PostgreSQL. My feeling is that the Mastodon developers have done much better database tuning.</p><p>But, none-the-less, the update must be done. This will be done on an Ubuntu server. </p><p>Does anyone who has changed the MariaDB or mySQL memory manager have any advice to share to keep me out of trouble? </p><p>BTW, <a href="https://hear-me.social/tags/TCMalloc" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TCMalloc</span></a> is not an option as other admins have reported crashes using it with Friendica.</p>
Habr<p>[Перевод] Механизм перезапускаемых последовательностей (Rseq) при работе с TCMalloc</p><p>❯ Кэши для отдельных ядер процессора В TCMalloc кэши для отдельных ядер процессора реализуются при помощи перезапускаемых последовательностей (man rseq(2)) под Linux. Эту возможность ядра разработали Пол Тёрнер и Эндрю Хантер из Google , а также Мэтью Дезнойерс из EfficiOS. При помощи перезапускаемых последовательностей можно вплоть до завершения выполнять область памяти (атомарно, относительно других потоков, выполняющихся на том же ядре процессора), либо выходить из этого процесса, если ядро прервёт этот процесс, например, вытеснив его или прервавшись на обработку сигнала. Если вы хотите организовать перезапуск системы при миграции с ядра на ядро или при вытеснении процесса, то наиболее общий случай такой операции можно оптимизировать (не переносить с ядра на ядро тот процесс, который уже выполняется), избегая атомарных операций. Можно оптимизировать и более редкий случай – вытеснение как таковое. В результате такого компромисса нужно обеспечить, чтобы на всех путях выполнения нашего кода поддерживались такие операции перезапуска. Вся последовательность, кроме окончательного сохранения в памяти, когда изменение фиксируется, должна быть приспособлена к перезапуску.</p><p><a href="https://habr.com/ru/companies/timeweb/articles/789470/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/timeweb/</span><span class="invisible">articles/789470/</span></a></p><p><a href="https://zhub.link/tags/timeweb_%D1%81%D1%82%D0%B0%D1%82%D1%8C%D0%B8_%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>timeweb_статьи_перевод</span></a> <a href="https://zhub.link/tags/Rseq" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Rseq</span></a> <a href="https://zhub.link/tags/TCMalloc" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TCMalloc</span></a> <a href="https://zhub.link/tags/Google" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Google</span></a> <a href="https://zhub.link/tags/EfficiOS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>EfficiOS</span></a> <a href="https://zhub.link/tags/%D1%8F%D0%B4%D1%80%D0%BE" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ядро</span></a> <a href="https://zhub.link/tags/ID" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ID</span></a> <a href="https://zhub.link/tags/%D0%9F%D0%9A" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ПК</span></a> <a href="https://zhub.link/tags/C" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>C</span></a>++ <a href="https://zhub.link/tags/%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>массивы</span></a> <a href="https://zhub.link/tags/%D0%A6%D0%9F" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ЦП</span></a> <a href="https://zhub.link/tags/begin" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>begin</span></a> <a href="https://zhub.link/tags/x86" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>x86</span></a> <a href="https://zhub.link/tags/%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>процессор</span></a> <a href="https://zhub.link/tags/%D0%BA%D1%8D%D1%88" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>кэш</span></a></p>
Gapry<p>The effect of switching to TCMalloc on RocksDB memory use</p><p><a href="https://fosstodon.org/tags/RocksDB" class="mention hashtag" rel="tag">#<span>RocksDB</span></a> <a href="https://fosstodon.org/tags/tcmalloc" class="mention hashtag" rel="tag">#<span>tcmalloc</span></a> <a href="https://fosstodon.org/tags/glibc" class="mention hashtag" rel="tag">#<span>glibc</span></a> <br /><a href="https://fosstodon.org/tags/GapryBlogReadingList" class="mention hashtag" rel="tag">#<span>GapryBlogReadingList</span></a> </p><p><a href="https://blog.cloudflare.com/the-effect-of-switching-to-tcmalloc-on-rocksdb-memory-use/" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="ellipsis">blog.cloudflare.com/the-effect</span><span class="invisible">-of-switching-to-tcmalloc-on-rocksdb-memory-use/</span></a></p>
Dr. Roy Schestowitz (罗伊)Programming: <a class="hashtag" href="https://pleroma.site/tag/tcmalloc" rel="nofollow noopener" target="_blank">#TCMalloc</a> , <a class="hashtag" href="https://pleroma.site/tag/ballerina" rel="nofollow noopener" target="_blank">#Ballerina</a> , <a class="hashtag" href="https://pleroma.site/tag/perl" rel="nofollow noopener" target="_blank">#Perl</a> , <a class="hashtag" href="https://pleroma.site/tag/scala" rel="nofollow noopener" target="_blank">#Scala</a> , <a class="hashtag" href="https://pleroma.site/tag/python" rel="nofollow noopener" target="_blank">#Python</a><br> <a href="http://www.tuxmachines.org/node/134667" rel="nofollow noopener" target="_blank">http://www.tuxmachines.org/node/134667</a>