I've got an instance of Ubuntu Server 18.04, got it running on with the perfect server setup. Set up a mirror server in another datacentre and got it running as well as per the multiserver tutorial, except that I'm using Galera and a third database server to run an SQL cluster. It's running great. Really fast and I'm supper happy with it. Bar one little issue at the minute on the Azure instance. I'd like to use the dynamic memory function. So that it can grow the memory underload if it needs it. Starting at 2GB and growing to 4GB or more if need be. I've got other servers running with dynamic memory and the grow and shrink all the time with no problems, except my Ispconfig instance. It just grows until it uses up all the memory. Then it starts sending me warnings that it is hungry for more. I've done all I can to narrow it down using my limited Linux knowledge and I'm sure it's all being used by something filling the cache. But I don't think it is the regular disk cache that's filling it, seeing that disk cache is enabled on my other Linux servers and there not filling up[in saying that, they have smaller data sets so I can't be sure]. I know that this is out of the scope of this forum and you'd be in your right not to help me. But I'm pretty desperate, and seeing I’m the only one who seems to have this problem, it's likely from something I installed during the perfect server setup. Does anything jump into any ones mind? Thanks in advance. Code: cat /proc/meminfo MemTotal: 4069996 kB MemFree: 1549640 kB MemAvailable: 471476 kB Buffers: 237056 kB Cached: 637276 kB SwapCached: 335536 kB Active: 1262892 kB Inactive: 892788 kB Active(anon): 777464 kB Inactive(anon): 572588 kB Active(file): 485428 kB Inactive(file): 320200 kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: 2097148 kB SwapFree: 1491196 kB Dirty: 80 kB Writeback: 0 kB AnonPages: 992236 kB Mapped: 234008 kB Shmem: 68704 kB Slab: 231556 kB SReclaimable: 144120 kB SUnreclaim: 87436 kB KernelStack: 4352 kB PageTables: 27296 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 4132144 kB Committed_AS: 3924732 kB VmallocTotal: 34359738367 kB
Try e.g. this command to get the memory usage by process: ps -o pid,user,%mem,command ax and then rerun the command and compare the result after some time to see which process uses more memory.
clamd is the biggest in there at 10%, sql 5%, the reset is chickenfeed[slang = tiny]. I wish there was a similar command that showed who was putting how much in cache[can other software add to the cache, or can only the kernel use cache for diskio]? Something in there grows like a crazy about 10seconds after you start the machine. 5 seconds later the ram is full again. I've tried other things like "echo 256000 > /proc/sys/vm/min_free_kbytes" and "memory pressure" that cache just keeps growing though. total used free shared buff/cache available Mem: 3974 1514 1414 90 1045 374 Swap: 2047 590 1457 Thanks again.
If it that fast, namely 15 seconds uptime and RAM is full, it probably is someting that starts at boot. I have no idea what it could be, but I would try to find out by installing htop and dstat, and monitoring what is happening. That dstat has lots of info it can show, read the man page and choose those that are related to memory, swap etc. usage. Use free -h to get readable output and post in CODE tags so columns stay readable.
Thanks for all your help, I think this is a bigger issue with azure dynamic memory. I've changed to static memory for now. doh.