[Sysfence-commit] sysfence/dokprojektlic main.tex,1.8,1.9 specuzytkownika.tex,1.7,1.8
Status: Alpha
Brought to you by:
emes
|
From: Michal S. <em...@us...> - 2004-06-05 13:49:53
|
Update of /cvsroot/sysfence/sysfence/dokprojektlic In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28484 Modified Files: main.tex specuzytkownika.tex Log Message: + o uzywaniu ;) Index: specuzytkownika.tex =================================================================== RCS file: /cvsroot/sysfence/sysfence/dokprojektlic/specuzytkownika.tex,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- specuzytkownika.tex 31 May 2004 10:28:48 -0000 1.7 +++ specuzytkownika.tex 5 Jun 2004 13:49:45 -0000 1.8 @@ -48,34 +48,9 @@ Konfiguracja programu wczytywana jest z plików. Plik konfiguracyjny sk³ada siê z regu³. Ka¿da regu³a sk³ada siê z trzech czê¶ci: nazwy, warunku i akcji. Przyk³adowy plik z regu³ami dostêpny w \texttt{doc/example.conf}. Plik dodatkowo -zawiera skrócony opis sk³adni jêzyka regu³. Poni¿ej zamieszczamy orientacyjny -opis gramatyki. - -{\scriptsize \begin{verbatim} -ruleset := rule [<string>] <block_expression> <rundata> [<logdata>] [<stepdata>] - | rule [<string>] <block_expression> <logdata> [<rundata>] [<stepdata>] -block_expression := { <expression> } -expression := <atomic> [<log_op> <expression>] - | <block_expression> [<log_op> <expression>] -logdata := log [once] -rundata := run [once] "command" -stepdata := step <integer> -atomic := <stat> <comp_op> <threshold> -stat := la1 | la5 | la15 | memfree | memused | swapfree | swapused - | <fs_cond> | <proc_cond> -fs_cond := spacefree "path" - | spaceavail "path" - | spaceused "path" -proc_cond := nproc [<user_list>] [<state_list>] -user_list := <uid> [, <user_list>] - | <username> [, <user_list>] -state_list := <state> [, <state_list>] -state := sleeping | running | stopped | uninterruptible | zombie -log_op := && | || -comp_op := = | < | > | <= | >= | != -\end{verbatim} } +zawiera skrócony opis sk³adni jêzyka regu³. Orientacyjny opis gramatyki znajduje +siê na stronie~\pageref{gramatyka}. -Jest on dostêpny równie¿ w pliku \texttt{parseopt/grammar.txt}. Poni¿ej zamieszczamy kilka przyk³adowych regu³. {\footnotesize \begin{verbatim} @@ -112,7 +87,7 @@ program lub nawet skrypt. Sprawdzanie regu³y jest wstrzymane do chwili zakoñczenia tej akcji. -Parametrami monitorowanymi w wersji 0.12 programu s±: +Parametrami monitorowanymi w wersji 0.14 programu s±: \begin{itemize} \item \textbf{la1} -- obci±¿enie systemu w ostatniej minucie, \item \textbf{la5} -- obci±¿enie systemu w ci±gu ostatnich $5$ minut, @@ -120,9 +95,66 @@ \item \textbf{freemem} -- wolna pamiêæ RAM, \item \textbf{usedswap} -- wykorzystana pamiêæ RAM, \item \textbf{freeswap} -- wolna przestrzeñ wymiany (swap), - \item \textbf{useedswap} -- wykorzystana przesrzeñ wymiany, + \item \textbf{usedswap} -- wykorzystana przesrzeñ wymiany, \item \textbf{usedspace} -- zajêta przestrzeñ w systemie plików, \item \textbf{freespace} -- ilo¶æ wolnego miejsca dla systemu plików, \item \textbf{availspace} -- dostêpny obszar w systemie plików (ilo¶æ - wolnego miejsca po odjêciu przestrzeni zarezerwowanej dla superu¿ytkownika) + wolnego miejsca po odjêciu przestrzeni zarezerwowanej dla superu¿ytkownika), + \item \textbf{nproc} -- liczba procesów (tak¿e z selekcj± wg. u¿ytkownika + bêd±cego w³a¶cicielem oraz stanu, w jakim znajduje siê proces) +\end{itemize} + +\subsubsection{Obci±¿enie systemu} + +Obci±¿enie systemu okre¶lane jest przez warto¶æ zwan± \emph{load average} (w skrócie +\emph{LA}). +W uproszczeniu jest to ¶rednia liczba procesów czekaj±cych w kolejce do wykonania. +Je¶li warto¶æ \emph{load average} przekracza liczbê procesorów u¿ywanych przez +system, oznacza to ¿e maszyna jest przeci±¿ona. J±dro udostêpnia warto¶ci \emph{LA} +z ostatniej minuty, piêciu oraz piêtnastu miut, dziêki czemu mo¿na sprawdziæ czy +nadmierne obci±¿enie jest zjawiskiem chwilowym (co zdarza siê bardzo czêsto przy +normalnej pracy) czy d³ugotrwa³ym. + +\subsubsection{Ilo¶æ pamiêci RAM} + +Nawet gdy nie jest to konieczne, Linux wykorzystuje niemal¿e ca³± woln± przestrzeñ +RAM na bufory (\textit{cache}), by mieæ mo¿liwo¶æ szybkiego wykonania du¿ych +operacji na dysku. Zawarto¶æ wiêkszo¶ci z tych buforów jest zsynchronizowana z trwa³ym +no¶nikiem i w razie potrzeby wydzielenia pamiêci dla nowego procesu, mo¿e byæ +natychmiast zwolniona. Przy takiej strategii zarz±dzania, podawanie faktycznej ilo¶ci +wolnej pamiêci mija³oby siê z celem. Tak wiêc ilo¶æ wolnej pamiêci RAM podawana przez +\emph{sysfence} zawiera równie¿ wspomniane bufory dyskowe, a zajêtej - jedynie +przestrzeñ zajmowan± przez j±dro i dzia³aj±ce procesy. + +Nak³adaj±c dolne ograniczenie na ilo¶æ wolnej pamiêci, nale¿y mieæ na uwadze ¿e musz± +zmie¶ciæ siê w niej bufory, a ich zmniejszenie mo¿e bardzo negatywnie wp³yn±æ na szybko¶æ +operacji dyskowych. + +\subsubsection{Liczba procesów} + +Przy pomocy s³owa kluczowego \texttt{nproc} mo¿na monitorowaæ liczbê procesów. Bez +argumentów, \texttt{nproc} zwróci nam liczbê wszystkich aktualnie wykonywanych procesów +i w±tków. Mozliwe jest te¿ dokonanie selekcji ze wzglêdu na u¿ytkownika bêd±cego +w³a¶cicielem oraz na stan procesu,np: + +\begin{itemize} + \item \texttt{nproc \"root\", \"http\"} -- zwróci liczbê procesów nale¿±cych do u¿ytkowników + \textit{root} i \textit{http}. Mo¿na tak¿e u¿yæ warto¶ci numerycznej (bez cudzys³owu). + \item \texttt{nproc uninterruptible, stopped} -- poda ilo¶æ procesów w stanie + \textit{uninterruptible} (czekaj±ce na zakoñczenie operacji wej¶cia/wyj¶cia) lub + \textit{stopped} (zatrzymane, np. ¶ledzone przez debugger). + \item \texttt{nproc \"root\", \"http\" uninterruptible, stopped} -- przekrój w.w. zbiorów \end{itemize} + + +Stany procesów mog± byæ identyfikowane poni¿szymi s³owami kluczowymi: + + +\begin{itemize} + \item dzia³ajace (\textit{running}) -- \texttt{running}, \texttt{run}, + \item u¶pione (\textit{sleeping}) -- \texttt{sleeping}, \texttt{sleep}, + \item \textit{uninterruptible} -- \texttt{uninterruptible}, \texttt{unint}, \texttt{io}, + \item zatrzymane (\textit{stopped}) -- \texttt{stopped}, \texttt{stop}, \texttt{traced}, + \item zombie -- \texttt{zombie}, \texttt{defunct}, +\end{itemize} + Index: main.tex =================================================================== RCS file: /cvsroot/sysfence/sysfence/dokprojektlic/main.tex,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- main.tex 31 May 2004 10:28:48 -0000 1.8 +++ main.tex 5 Jun 2004 13:49:45 -0000 1.9 @@ -36,6 +36,7 @@ % appendix \appendix \input{tabele} +\input{gramatyka} % bibliography %\input{bibliography} |