I'm deploying an application that uses ImageMagick into VPS server. I tested in on two different OS: Centos6 and Ubuntu Server 12.04.
On Centos6, the application is working properly and when accessing ImageMagick script, memory usage can goes above 90% (FYI, both OS and VPS instance are using 512MB memory package). However, when I tried the same script, it never goes above 5-6.2%.
top
result on ubuntu server:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1816 userx 20 0 341m 24m 5260 D 40.8 5.0 0:13.85 apache2
top
result on centos server:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
15798 ariefbay 20 0 183m 155m 5684 R 99.8 31.2 0:05.96 httpd
This memory limitation resulted in very long process. I need it to be fast and since this will be a limited usage server, I don't mind if it consume the whole memory.
I've tried the following step:
adding RLimitMEM to /etc/apache2/apache2.conf
RLimitMEM max max
- setting
ulimit -l unlimited
adding config into
/etc/security/limits.conf
:userx - rtprio 99 userx - memlock unlimited userx - nice -10
- note:
apache2
process are running asuserx
. this is working ok as proved by
ulimit -a
:userx@do:/etc/apache2$ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 30 file size (blocks, -f) unlimited pending signals (-i) 3861 max locked memory (kbytes, -l) unlimited max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 99 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 3861 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
- note:
I can also see that the memory settings are working fine by looking at /proc/pic/limits:
userx@do:/etc/apache2$ cat /proc/1811/limits Limit Soft Limit Hard Limit Units Max cpu time unlimited unlimited seconds Max file size unlimited unlimited bytes Max data size unlimited unlimited bytes Max stack size 8388608 unlimited bytes Max core file size 0 unlimited bytes Max resident set unlimited unlimited bytes Max processes 3861 3861 processes Max open files 8192 8192 files Max locked memory unlimited unlimited bytes Max address space unlimited unlimited bytes Max file locks unlimited unlimited locks Max pending signals 3861 3861 signals Max msgqueue size 819200 819200 bytes Max nice priority 30 30 Max realtime priority 99 99 Max realtime timeout unlimited unlimited us
Did I do something wrong? what should I do to remedy this problem on ubuntu?