LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Server (https://www.linuxquestions.org/questions/linux-server-73/)
-   -   Rel1k`s Artillery Burst Memory (https://www.linuxquestions.org/questions/linux-server-73/rel1k%60s-artillery-burst-memory-4175417180/)

tripialos 07-17-2012 07:21 AM

Rel1k`s Artillery Burst Memory
 
Greetings Fellas

Couple of months ago I bought an OpenVZ VPS 128mb and installed artillery on it (https://www.trustedsec.com/downloads/artillery/).

I was stunned with the quality and usability of the particular anti-DoS/Bruteforce attack tool.

A week ago i decided to buy one more OVZ VPS 128 but frome a different company. I installed artillery but once I tried to run the program i got the following error:

Code:

python artillery.py
    Unhandled exception in thread started by <function ssh_monitor at 0xb7ae7764>
    Traceback (most recent call last):
    File "/var/artillery/src/ssh_monitor.py", line 89, in ssh_monitor
    ban(ipaddress)
    File "/var/artillery/src/core.py", line 53, in ban
    subprocess.Popen("iptables -I ARTILLERY 1 -s %s -j DROP" % ip, shell=True).wait()
    File "/usr/lib/python2.7/subprocess.py", line 672, in __init__
    errread, errwrite)
    File "/usr/lib/python2.7/subprocess.py", line 1115, in _execute_child
    self.pid = os.fork()
    OSError: [Errno 12] Cannot allocate memory
    Unhandled exception in thread started by <function monitor_system at 0xb7ae3c34>
    Traceback (most recent call last):
    File "/var/artillery/src/monitor.py", line 101, in monitor_system
    compare_files = subprocess.Popen("diff /var/artillery/database/integrity.database /var/artillery/database/temp.database", shell=True, stdout=subprocess.PIPE)
    File "/usr/lib/python2.7/subprocess.py", line 672, in __init__
    errread, errwrite)
    File "/usr/lib/python2.7/subprocess.py", line 1115, in _execute_child
    self.pid = os.fork()
    OSError: [Errno 12] Cannot allocate memory
    Traceback (most recent call last):
    File "artillery.py", line 54, in <module>
    create_iptables()
    File "/var/artillery/src/core.py", line 242, in create_iptables
    subprocess.Popen("iptables -N ARTILLERY", stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
    File "/usr/lib/python2.7/subprocess.py", line 672, in __init__
    errread, errwrite)
    File "/usr/lib/python2.7/subprocess.py", line 1115, in _execute_child
    self.pid = os.fork()
    OSError: [Errno 12] Cannot allocate memory


I contacted the support team of my VPS provider and they stated:

Quote:

According to /proc/user_beancounters you've hit your memory limit 20 times. Keep in mind that even though you have 256MB of RAM, only 128MB is guaranteed and the memory management will not allow a single process to exceed 128MB
I argued with them and tried to explain them that only my 7% of my memory is occupied and tried to explain them that on my other VPS, artillery runs smoothly without any issues. The final outcome of the support was:



Quote:

It looks like you're hitting your burstable RAM limit (privvmpages). I have tried the script myself on your VPS and it is indeed causing the count to go up each time. I don't know the application you are trying to run but I would recommend contacting the developer to find out how to lower the RAM usage.
I am attaching a screenshot of your script running and your memory jumping to 225MB of RAM.
the screenshot can be find here: http://tinypic.com/r/zn0sv8/6

For me is very wired and I cant understand how is possible two edifferent VPS (on different companies) with exaclty same same specs, one cannot run artillery and one can.

I was hopping someone here that uses the particular tool to confirm that such issue indeed occurs by the requirements of artillery.

Any ideas, solutions?

cheers


All times are GMT -5. The time now is 12:11 PM.