воскресенье, 29 июня 2014 г.

awstat error: couldn't open server log file

Обратился клиент, что ему на почту стали приходить такие письма:

Error while processing /etc/awstats/awstats.conf
Create/Update database for config "/etc/awstats/awstats.conf" by AWStats 
version 7.0 (build 1.971)
From data in log file "/var/log/apache2/access.log"...
Error: Couldn't open server log file "/var/log/apache2/access.log" : 
Permission denied
Setup ('/etc/awstats/awstats.conf' file, web server or permissions) may be 
wrong.
Check config file, permissions and AWStats documentation (in 'docs' 
directory).
Error while processing /etc/awstats/awstats.conf
Create/Update database for config "/etc/awstats/awstats.conf" by AWStats 
version 7.0 (build 1.971)
From data in log file "/var/log/apache2/access.log"...
Error: Couldn't open server log file "/var/log/apache2/access.log" : 
Permission denied
Setup ('/etc/awstats/awstats.conf' file, web server or permissions) may be 
wrong.
Check config file, permissions and AWStats documentation (in 'docs' 
directory).


iptables NAT Openvz

Появилась задача - на OpenVZ контейнере нужно подключить поддержку NAT. Так как при просмотре содержимого таблицы NAT мы видим такое:
# iptables -t nat -nvL
iptables v1.4.12: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.


isp access denied

Случилось так, что перестало пускать в панель под определенным пользователем.

В логах ISPmanager ошибка:
# tail /usr/local/ispmgr/var/ispmgr.log
May  4 20:28:04 [ 1589:409] WARNING Access not allowed ip ’11.111.111.111′. Rejected.
May  4 20:35:31 [ 1589:410] INFO Request [11.111.111.111][nobody] ‘username=root&password=*&theme=sirius&lang=ru&func=auth’


пятница, 13 июня 2014 г.

Эксперемент с дисковым кешем в Linux

Эффекты диского кеша во время выделения памяти в приложениях


Дисковый кеш не мешает приложениям в получении памяти, которой им необходимы. Вот небольшая программа на языке С (munch.c) которая выделяет столько памяти, сколько сможет или до определенного лимита:
$ cat munch.c
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

int main(int argc, char** argv) {
    int max = -1;
    int mb = 0;
    char* buffer;

    if(argc > 1)
        max = atoi(argv[1]);

    while((buffer=malloc(1024*1024)) != NULL && mb != max) {
        memset(buffer, 0, 1024*1024);
        mb++;
        printf("Allocated %d MB\n", mb);
    }
   
    return 0;
}


Когда память заканчивается - это не круто, но OOM-killer должен убить только этот процесс и надеюсь остальные процессы он не затронет.