Forsiranje određenih programa da koriste SWAP memoriju

Shwele

Member
Joined
Mar 14, 2017
Messages
82
Reaction score
7
Imam mail server, za koji sam pisao ranije na forumu i dešava mi se da mi se ram popuni do 95% više nego često.

Koliko vidim najveći je krivac clamav koji u pozadini uzima po HTOP 872M x2 procesa
Za process komanda stoji: /usr/sbin/clamd/ -foreground=true

Ono što bih hteo da postignem je… da li je moguće forsirati neki process direktno samo u SWAP memoriju? Swap mi je često prazan i ne koristi se, probao sam povećavanjem swappiness na 80 pa i 95 ali nije davalo neke rezultate.

Pošto mi se dešava kada je aktivan server da mi zakuca sa full ramom i monitoring odmah vrišti gledajući free memoriju a ne i onu zakeširanu…

Ako moja ideja ne pije vodu, postoji li neki način da se forsira SWAP usage kada je ram iskorišćen recimo preko 50%?

Bonus poeni za one koji znaju šta to clamav krmlja pa kako da mu smanjim memoriju koju izima za provere.

Mail server se i ne koristi toliko, ali kada se koristi, bude zagušen, što želim da izbegnem.
 

Branimir_Maksimovic

Well-known member
Joined
Nov 22, 2018
Messages
928
Reaction score
370
swap ima svrhu ako se ta memorija ne koristi. Ukoliko nema dovoljno rama pa konstantno swapuje masina ce da se zakuca.
 

Commander

Well-known member
Staff member
Joined
Jan 13, 2012
Messages
9,235
Reaction score
530
Clamav i jeste gladan stalno, jer ti fakat skenira svu in/out poštu…

a) Koliko memorije imaš na mail serveru?
b) Koliko aktivnih korisnika imaš na mail serveru?
c) Koliko pošte šalješ i primaš u proseku za 24h?

Uglavnom sve se svodi na to koliko ti je “prometan” mail server.

P.S. Jel to na Virtualmin-u?
 

Shwele

Member
Joined
Mar 14, 2017
Messages
82
Reaction score
7
a) 2GB RAM - 1GB swap

b) Uglavnom neaktivne, NGO sektor i štancanje projekata sa klijentima koje nije bitno da išta rade. 70 domainova od toga… 4-5 povremeno aktivnih klijenata (svaki po domain)

c) Da kažemo na dnevnom nivou ume da bude oko 100, osim kada jedan od tih klijenata ne pošalje newsletter. Čak i tad ne šalje sa tog mail servera (dakle ne SMTP konekcija) nego preko mail() php funkcije gde sam dao preko SPF rekorda autoritet za slanje i potpisao DKIMom sa servera sa koga šaljem. Suma sumarum, uglavnom je na prijemu zagušenje, kada se odbijene adrese vrate i onda preko IMAP-a konektuje CRM na mailbox i proverava da li ima ih ima.

Evo statistike sa pflogsumm
Code:
postfix:/var/log# perl /usr/sbin/pflogsumm -d yesterday /var/log/mail.log
Postfix log summaries for Feb  4

Grand Totals
------------
messages

     14   received
      7   delivered
      0   forwarded
      0   deferred
     14   bounced
     66   rejected (90%)
      0   reject warnings
      0   held
      0   discarded (0%)

  17976   bytes received
   4631   bytes delivered
      1   senders
      1   sending hosts/domains
      1   recipients
      1   recipient hosts/domains
PS. nije, postfix mail server je u pitanju.
 

Shwele

Member
Joined
Mar 14, 2017
Messages
82
Reaction score
7
Anadr sajd note, imam problem sa servisom od kako sam se zezao sa swap memorijom, neće da radi. Svaki restart uvek vraća isti problem.

Ispod je error:
Code:
● clamav-daemon.service - Clam AntiVirus userspace daemon
   Loaded: loaded (/lib/systemd/system/clamav-daemon.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/clamav-daemon.service.d
           └─extend.conf
   Active: failed (Result: exit-code) since Tue 2020-02-18 11:54:14 CET; 1min 27s ago
     Docs: man:clamd(8)
           man:clamd.conf(5)
           https://www.clamav.net/documents/
  Process: 621 ExecStart=/usr/sbin/clamd --foreground=true (code=exited, status=1/FAILURE)
  Process: 612 ExecStartPre=/bin/chown clamav /run/clamav (code=exited, status=0/SUCCESS)
  Process: 586 ExecStartPre=/bin/mkdir /run/clamav (code=exited, status=0/SUCCESS)
 Main PID: 621 (code=exited, status=1/FAILURE)

Feb 18 11:54:13 postfix.civicatalyst.org clamd[621]: LibClamAV Error: cli_loadhash: Malformed hash string at line 355573
Feb 18 11:54:13 postfix.civicatalyst.org clamd[621]: LibClamAV Error: cli_loadhash: Problem parsing database at line 355573
Feb 18 11:54:13 postfix.civicatalyst.org clamd[621]: LibClamAV Error: Can't load main.mdb: Can't allocate memory
Feb 18 11:54:13 postfix.civicatalyst.org clamd[621]: LibClamAV Error: cli_tgzload: Can't load main.mdb
Feb 18 11:54:13 postfix.civicatalyst.org clamd[621]: LibClamAV Error: Can't load /var/lib/clamav/main.cvd: Malformed database
Feb 18 11:54:13 postfix.civicatalyst.org clamd[621]: LibClamAV Error: cli_loaddbdir(): error loading database /var/lib/clamav/main.cvd
Feb 18 11:54:13 postfix.civicatalyst.org clamd[621]: Tue Feb 18 11:54:13 2020 -> !Malformed database
Feb 18 11:54:14 postfix.civicatalyst.org systemd[1]: clamav-daemon.service: Main process exited, code=exited, status=1/FAILURE
Feb 18 11:54:14 postfix.civicatalyst.org systemd[1]: clamav-daemon.service: Unit entered failed state.
Feb 18 11:54:14 postfix.civicatalyst.org systemd[1]: clamav-daemon.service: Failed with result 'exit-code'.
 

Commander

Well-known member
Staff member
Joined
Jan 13, 2012
Messages
9,235
Reaction score
530
Nešto si mu zeznuo memoriju, piše da ne može da alocira dovoljno memorije i upada u loop.

Workaround je da toj VM-u gde se vrti Clam dodeliš još memorije.
 

Shwele

Member
Joined
Mar 14, 2017
Messages
82
Reaction score
7
Nešto si mu zeznuo memoriju, piše da ne može da alocira dovoljno memorije i upada u loop.
Workaround je da toj VM-u gde se vrti Clam dodeliš još memorije.
Skontah na kraju, igranje sa swapom me koštalo funkcionalnosti.

Izgleda da na kraju samo ne treba da diram, barem dok ne skontam kako bi moglo da se alocira… ako je uopšte moguće.
 
Top