# Limitando o número de unicórnios, uso de memória e swapping

**URL:** <https://meta.discourse.org/t/limiting-the-number-of-unicorns-memory-usage-and-swapping/274954>\
**Category:** Self-hosting\
**Tags:** server-resources\
**Created:** [Agosto 13, 2023, 4:33pm UTC](https://meta.discourse.org/t/limiting-the-number-of-unicorns-memory-usage-and-swapping/274954 "2023-08-13T16:33:25Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![Ed\_S](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ed_s/32/134015_2.png) [@Ed\_S](https://meta.discourse.org/u/Ed_S)\
**Post date:** [Agosto 13, 2023, 5:04pm UTC](https://meta.discourse.org/t/limiting-the-number-of-unicorns-memory-usage-and-swapping/274954/2 "2023-08-13T17:04:11Z")

</div>

Suspeito que o htop esteja mostrando threads em vez de processos - de qualquer forma, vejo o mesmo no htop que você, mas apenas dois unicorns de acordo com

```plaintext
ps uaxf|egrep unicorn.?worker

```

Também meu free está como o seu:

```plaintext
# free -h
              total used free shared buff/cache available
Mem: 985M 782M 61M 60M 141M 32M
Swap: 2.0G 992M 1.0G

```

Aliás, ver um pouco de swap em uso não é um problema em si. É o swapping (paginação) real que importaria. Tente `vmstat 5 5` e olhe as colunas si e so.

```plaintext
# vmstat 5 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r b swpd free buff cache si so bi bo in cs us sy id wa st
 0 0 1041832 63176 5716 127408 367 325 601 393 8 10 2 1 95 2 0
 0 0 1041576 60976 5724 127408 399 0 399 21 212 653 1 1 96 2 0
 0 0 1043544 77036 2296 120688 807 803 807 837 404 1144 1 2 94 3 0
 0 0 1043288 65040 3704 129476 254 0 2292 5 255 780 1 1 96 2 0
 0 0 1048736 81936 2916 119016 762 1499 919 1565 470 1171 3 2 90 5 0

```

Preferiria não ver nada acima de 1000, mas não estou muito preocupado. Uma segunda execução mostrou um quadro muito mais calmo:

```plaintext
# vmstat 5 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r b swpd free buff cache si so bi bo in cs us sy id wa st
 0 0 1048452 82712 2532 120848 367 325 601 393 8 10 2 1 95 2 0
 0 0 1047684 74552 2548 124816 285 0 1049 10 230 655 2 1 95 2 0
 0 0 1046660 66556 3692 129008 196 0 1261 16 219 672 1 1 96 2 0
 1 0 1046404 65812 3700 129284 54 0 97 13 137 364 1 0 98 0 0
 0 0 1046148 65280 3700 129288 50 0 50 3 132 344 1 0 98 0 0

```

Editar: a tecla H no htop alternará de threads para processos:

```plaintext
  CPU[0.0%] Tasks: 66; 1 running
  Mem[||||||||||||||||||||||||||||||||||||||||||||||||||824M/985M] Load average: 0.19 0.12 0.05
  Swp[|||||||||||||||||||||||||||||| 1015M/2.00G] Uptime: 52 days, 00:50:42

  PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
13246 1000 20 0 966M 362M 6448 S 0.0 36.8 51:01.52 unicorn worker[0] -E production -c config/unicorn.conf.rb
13237 1000 25 5 1004M 194M 3780 S 0.0 19.8 22:38.19 sidekiq 6.5.9 discourse [0 of 5 busy]
13258 1000 20 0 919M 70176 3632 S 0.0 7.0 5:02.87 unicorn worker[1] -E production -c config/unicorn.conf.rb
12412 systemd-r 20 0 212M 60928 56916 S 0.0 6.0 0:00.23 postgres: 13/main: discourse discourse [local] idle
12818 systemd-r 20 0 212M 39228 34868 S 0.0 3.9 0:00.07 postgres: 13/main: discourse discourse [local] idle
12719 systemd-r 20 0 211M 28400 25336 S 0.0 2.8 0:00.03 postgres: 13/main: discourse discourse [local] idle
13117 1000 20 0 541M 13768 2048 S 0.0 1.4 1:08.11 unicorn master -E production -c config/unicorn.conf.rb

```

Editar: defini `db_shared_buffers: \"128MB\"` muito cedo e não vi nenhum problema com isso.

---

_[View the full topic](https://meta.discourse.org/t/limiting-the-number-of-unicorns-memory-usage-and-swapping/274954)._
