RSS Feed

Wrzesień, 2011

  1. Wiele vserverów i problem ramu

    Wrzesień 19, 2011 by 0verlord

    Obiliśmy się tutaj o dość interesujący problem z vserverami. Co to są linux-vservery, można przeczytać tutaj.

    Mamy hosta, na którym stoi kilkanaście vserwerów. Każdy konfigurowany wg odrobinę przerobionego skryptu instalacyjnego, a konkretnie poszerzający /tmp do 512m. Dlaczego więcej, można np. przeczytać tu.

    Problem jest taki, że /tmp w domyślnej konfiguracji jest montowany wewnątrz vservera tak:
    none /tmp tmpfs size=512m,mode=1777 0 0

    Czyli katalog /tmp to jest tak na prawdę tmpfs, czyli tak na prawdę ram. 500 mega ramu w sumie marnujące się dość bez sensu. Jeżeli nie potrzebujemy jakiegoś specjalnie wydajnego guesta, można spokojnie zrezygnować z takiego rozwiązania kwestii /tmp’a.

    Co ma się gdzie montować, w vserverze jest zaszyte w fstabie, który z kolei siedzi w katalogu głównym z konfiguracją guestów, w Debianie tu:
    /etc/vservers/NazwaVservera/fstab

    Usuwamy linijkę z tmpfs i restartujemy vserver. Po tej operacji, vserver zacznie swoje pliki tymczasowe zapisywać normalnie w filesystemie, zwalniając ram. Mission accomplished, ram odzyskany, tadam.wav. U nas zwolniło się w ten sposób 3GB.


  2. Outlook i jego kody błędów

    Wrzesień 13, 2011 by 0verlord

    Outlook, narzędzie zagłady w dowolnej wersji. Tak może wszystko, tak o ile to Microsoft Exchange. Z czymkolwiek innym niż skrzynka w pop3 działa paskudnie nieprzewidywalnie. Tyle z praktyki.

    Outlook czasem pluje kodami błędów, które czasem pomagają. Warto wiedzieć, co który kod oznacza, bo czasem można przez to szybko rozwiązać problem pana klienta.

    Pod tym adresem można znaleźć wszystko tłumaczenie z kodów Outlooka na jakiś bardziej normalny język.


  3. Co robić, jeżeli system swapuje, a dużo ramu jest cały czas wolne

    Wrzesień 6, 2011 by 0verlord

    Ogólnie rzecz biorąc, swapowanie bywa pożyteczne. Jeżeli mamy mini serwerek, który ma mało ramu, a jakaś aplikacja sobie ucieknie, mamy szanse ją dobić i serwer naprawić.
    Gorzej, jeżeli mamy do dyspozycji 12GB ramu, wykorzystywane jest jakieś 6, swap jest wykorzystany na poziomie 30-40%, a procesor wisi w wa (wasted) i ogólnie mamy wrażenie, że ruch na I/O morduje performance serwera.

    Miałem taki przypadek z serwerem poczty. O ile jeszcze Thunderbird sobie z radził, to już (tfu, tfu) Outlook czytający maile po imapie, potrafił nie umieć pobrać całej wiadomości z serwera. Jak ludzie bluzgali, to już inna opowieść 😉

    W każdym razie, vmstat pokazywał sobie jakieś 20-40% procka czekającego na dysk i sama sytuacja nie wyglądała jakoś szczególnie dramatycznie. Natomiast tutaj był problem ze swapem.

    Jest taki parametr w kernelu, nazywa się vm.swappiness, dokładne info w obcym jezyku jest tutaj. Przyjmuje parametry od 0 do 100, gdzie 0 oznacza brak swapowania, jeżeli jest wolny ram, a 100, że wszystko co się da lub nie da ma iść do swapa.
    Jeżeli już na serwerze mamy zatkany swap, procedura wyczyszczenia wygląda tak:

    # gasimy swapa
    swapoff /tam/gdzie/swap
    # przestawiamy parametr
    sysctl -w vm.swappiness=0 (lub 100 w zależności od celu)
    # włączamy swap
    swapon /tam/gdzie/swap

    Jeżeli mamy dużo ramu, warto z niego korzystać. Wszystko, co wisi w ramie, będzie działało dużo szybciej, i nie będzie czekało na dysk.