BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

ZFS-Statistiken anzeigen

Mit Hilfe von zfs-stats können auf einem FreeBSD System alle ZFS relevanten Informationen angezeigt werden. Im FreeBSD -Portbaum findet man zfs-stats unter sysutils/zfs-stats:

# cd /usr/ports/sysutils/zfs-stats && make install clean

Mit der -F Option werden die FreeBSD-Informationen angezeigt:

# zfs-stats -F
------------------------------------------------------------------------
ZFS Subsystem Report                            Sat Oct 23 21:14:34 2010
------------------------------------------------------------------------
System Information:

        Kernel Version:                         900019 (osreldate)
        Hardware Platform:                      i386
        Processor Architecture:                 i386

FreeBSD 9.0-CURRENT #3: Thu Sep 2 13:27:05 CEST 2010 root
 9:14PM  up 40 mins, 2 users, load averages: 0.26, 0.06, 0.02

Verwendet man die -M Option so werden Informationen zum Arbeitsspeicher angezeigt:

# zfs-stats -M
------------------------------------------------------------------------
ZFS Subsystem Report                            Sat Oct 23 21:16:30 2010
------------------------------------------------------------------------
System Memory Statistics:
        Physical Memory:                        1011.41M
        Kernel Memory:                          34.55M
        DATA:                           71.94%  24.86M
        TEXT:                           28.06%  9.70M
------------------------------------------------------------------------

Die ZFS und ZFS-Pool Versionen können mit der -p Option abgefragt werden:

# zfs-stats -p
------------------------------------------------------------------------
ZFS Subsystem Report                            Sat Oct 23 21:17:47 2010
------------------------------------------------------------------------
ZFS pool information:
        Storage pool Version (spa):             28
        Filesystem Version (zpl):               5
------------------------------------------------------------------------

Alle ZFS relevanten sysctl-Variablen werden mit der -s Option angezeigt:

# zfs-stats -s
------------------------------------------------------------------------
ZFS Subsystem Report                            Sat Oct 23 21:19:05 2010
------------------------------------------------------------------------
ZFS Tunable (sysctl):
        kern.maxusers=384
        vfs.zfs.l2c_only_size=0
        vfs.zfs.mfu_ghost_data_lsize=0
        vfs.zfs.mfu_ghost_metadata_lsize=8192
        vfs.zfs.mfu_ghost_size=8192
        vfs.zfs.mfu_data_lsize=0
        vfs.zfs.mfu_metadata_lsize=177664
        vfs.zfs.mfu_size=296448
        vfs.zfs.mru_ghost_data_lsize=0
        vfs.zfs.mru_ghost_metadata_lsize=39936
[...]

Weiter können folgende Statistiken abgefragt werden: ARC (-A Option), VDEV cache (-D Option) , L2 ARC (-L Option) und DMU zfetch (-Z Option):

# zfs-stats -ADLZ
------------------------------------------------------------------------
ZFS Subsystem Report                            Sat Oct 23 21:53:57 2010
------------------------------------------------------------------------
ARC Misc:
        Deleted:                                8
        Recycle Misses:                         0
        Mutex Misses:                           0
        Evict Skips:                            0

ARC Size:
        Current Size (arcsize):         0.20%   1.26M
        Target Size (Adaptive, c):      100.00% 640.00M
        Min Size (Hard Limit, c_min):   12.50%  80.00M
        Max Size (High Water, c_max):   ~8:1    640.00M

ARC Size Breakdown:
        Recently Used Cache Size (p):   50.02%  320.14M
        Freq. Used Cache Size (c-p):    49.98%  319.86M
[...]

Alle Informationen in einer Ausgabe werden mit der -a Option dargestellt:

# zfs-stats -a

Ruft man zfs-stats ohne Optionen auf, werden alle verfügbaren Optionen aufgelistet.

Related Entries:
ZFS-Installation mit Hilfe von mfsBSD
FreeBSD nur auf ZFS installieren
Alle Änderungen eines ZFS-Pools anzeigen
Automatisch ZFS Snapshots erstellen
ZFS Dateisystemoptionen verwenden
 Permalink

Überprüfen ob eine PID-Datei noch gültig ist

Mit Hilfe von stalepid kann überprüft werden ob der Prozess, welcher in einer PID-Datei gespeichert ist, noch existiert. Gibt es den Prozess nicht mehr, wird die veraltete PID-Datei automatisch gelöscht. Im FreeBSD-Portbaum findet man stalepid unter sysutils/stalepid:

# cd /usr/ports/sysutils/stalepid && make install clean

An stalepid wird nun die PID-Datei und der Prozessnamen übergeben, worauf stalepid überprüft ob der Prozess aus der PID-Datei noch existiert und allenfalls die PID-Datei löscht:

# stalepid /var/run/powerd.pid powerd

Mehr Informationen zu stalepid findet man in der Manpage stalepid(1).

 Permalink

Musik auf der Kommandozeile abspielen

Möchte man auf der Kommandozeile Musik abspielen, kann dazu herrie verwendet werden. Im FreeBSD -Portbaum findet man herrie unter audio/herrie:

# cd /usr/ports/audio/herrie && make install clean

Um mit herrie Musik abzuspielen, wechselt man ins Verzeichnis, welches alle Audio-Dateien beinhaltet und ruft danach herrie auf:

# cd ~/music && herrie

Danach sieht man um unteren Teil von herrie die Audio-Dateien und alle Unterverzeichnisse. Möchte man ein Lied zur Wiedergabeliste hinzufügen so drückt man die a-Taste. Mit der x-Taste startet man das Abspielen der selektierten Lieder. Durch das Drücken der v-Taste stoppt man die Wiedergabe. Durch die y- und die v-Taste springt man ein Lied in der Wiedergabeliste rück- oder vorwärts. Möchte man herrie beenden, so drückt man die q-Taste.

Mehr Informationen und alle Tastenkombinationen von herrie findet man in der Manpage herrie(1). Danke Ed!

Comments (1)  Permalink

Kalender auf der Kommandozeile verwenden

Mit Hilfe von calendar lassen sich Termine auf der Kommandozeile anzeigen. Dabei werden immer die Einträge des aktuellen und des nächsten Tages angezeigt. Freitags werden auch die Einträge des Wochenendes ausgegeben. Standardmässig werden die Einträge aus ~/calendar genommen:

# cat ~/calendar
10/02   Fest bei mir zuhause
10/03   Aufräumen
10/07   DevSummit
10/08   DevSummit
10/09   EuroBSDCon
10/10   EuroBSDCon
# calendar
 2 Okt  Fest bei mir zuhause
 3 Okt  Aufräumen

Zuätzlich gibt es auf FreeBSD einige vorgefertigte calendar-Dateien. So sind zum Beispiel in calendar.computer Ereignisse aus der Computer-Geschichte eingetragen. Möchte man eine solche Datei mit calendar verwenden, so kann dazu die -f Option verwendet werden:

# ls /usr/share/calendar/
calendar.all          calendar.christian    calendar.dutch        calendar.german       calendar.hungarian    calendar.music        calendar.southafrica  calendar.world        de_DE.ISO8859-15@     hr_HR.ISO8859-2/      uk_UA.KOI8-U/
calendar.australia    calendar.computer     calendar.freebsd      calendar.history      calendar.judaic       calendar.newzealand   calendar.ukrainian    de_AT.ISO_8859-15/    fr_FR.ISO8859-1/      hu_HU.ISO8859-2/
calendar.birthday     calendar.croatian     calendar.french       calendar.holiday      calendar.lotr         calendar.russian      calendar.usholiday    de_DE.ISO8859-1/      fr_FR.ISO8859-15@     ru_RU.KOI8-R/
# calendar -f /usr/share/calendar/calendar.computer
 2 Okt  First robotics-based CAM, 1939

Auf FreeBSD ist calendar standardmässig im Basissystem vorhanden. Mehr Informationen zu calendar findet man in der Manpage calendar(1).

 Permalink

Apache Logdateien zusammenführen

Mit Hilfe von mergelog lassen sich mehrer Apache-Logdateien sortiert nach der Zugriffszeit zusammenführen. Im FreeBSD-Portbaum findet man mergelog unter www/mergelog:

# cd /usr/ports/www/mergelog && make install clean

Aus allen angegebenen Logdateien wird nun eine Datei erstellt:

# ls -l httpd-access-server*
-rw-r--r--  1 root  wheel 45616843 24 Sep 18:41 httpd-access-server1.log
-rw-r--r--  1 root  wheel 34263714 24 Sep 18:42 httpd-access-server2.log
-rw-r--r--  1 root  wheel 21555617 24 Sep 18:43 httpd-access-server3.log
# mergelog httpd-access-server1.log httpd-access-server2.log httpd-access-server3.log > httpd-access.log

Sind die Dateien mit gzip komprimiert, können diese mit zmergelog zusammengeführt werden:

# zmergelog httpd-access-server1.log.gz httpd-access-server2.log.gz httpd-access-server3.log.gz > http-access.log

Mehr Informationen zu mergelog und zmergelog findet man in den Mapages mergelog(1) und zmergelog(1).

Comments (1)  Permalink

CPU Auslastung anzeigen

Mit Hilfe von pcpustat kann die Auslastung der einzelnen CPU-Kerne dargestellt werden. Im FreeBSD -Portbaum findet man pcpustat unter sysutils/pcpustat:

# cd /usr/ports/sysutils/pcpustat && make install clean

Mit der -w Option kann festgelegt werden nach wievielen Sekunden eine neue Ausgabe erfolgen soll. Mit Ctrl + c kann pcpustat beendet werden.

# pcpustat -w 1
               cpu 0               cpu 1               cpu 2               cpu 3               cpu 4               cpu 5               cpu 6               cpu 7
  us  ni  sy  in  id  us  ni  sy  in  id  us  ni  sy  in  id  us  ni  sy  in  id  us  ni  sy  in  id  us  ni  sy  in  id  us  ni  sy  in  id  us  ni  sy  in  id
  63   0   5   1  31  38   0   5   0  56  41   0   7   0  52  39   0   4   0  57  41   0   5   0  54  64   0   4   0  32  14   0   1   2  84  58   0   5   0  37
  57   0  12   0  31  73   0  13   0  13  84   0  11   0   5  70   0   5   0  25  75   0   7   0  18  30   0   4   0  66  50   0   9   0  41  64   0   6   0  30
  48   0   8   0  45  59   0   3   0  38  63   0   5   1  30  65   0   6   0  29  68   0   2   0  30  63   0   4   0  33  67   0   6   2  24  43   0  15   0  42
  59   0   8   0  33  91   0   2   0   8  16   0   5   0  79  11   0   6   1  82  27   0   7   0  66  67   0   3   0  30  38   0   5   2  55  76   0   8   0  16
  54   0   3   0  43  96   0   4   0   0  26   0   7   0  67  13   0   4   0  84  23   0   3   0  73   5   0   1   0  95   1   0   3   1  95   6   0   2   0  92
  36   0   2   0  61  48   0   6   0  46  21   0   3   0  76   8   0   1   0  91  11   0   2   0  87  27   0   1   1  71   5   0   1   0  95  22   0   1   0  77
   9   0   3   0  88  14   0   3   0  83  41   0   5   0  54  27   0   5   0  67  62   0   9   0  29   0   0   1   0  99   5   0   0   2  93  23   0   1   0  77

Möchte man die Auslastung der einzelnen CPU-Kerne in top darstellen so kann top mit der -P Option gestartet werden:

# top -P
last pid: 29169;  load averages:  3.86,  1.71,  0.95 up 83+08:45:44  11:00:02
90 processes:  9 running, 81 sleeping
CPU 0: 94.9% user,  0.0% nice,  1.2% system,  0.0% interrupt,  3.9% idle
CPU 1: 96.9% user,  0.0% nice,  2.7% system,  0.0% interrupt,  0.4% idle
CPU 2: 57.6% user,  0.0% nice,  1.9% system,  0.4% interrupt, 40.1% idle
CPU 3: 86.4% user,  0.0% nice,  3.1% system,  0.0% interrupt, 10.5% idle
CPU 4: 89.9% user,  0.0% nice,  1.9% system,  0.0% interrupt,  8.2% idle
CPU 5: 89.9% user,  0.0% nice,  0.4% system,  0.0% interrupt,  9.7% idle
CPU 6: 84.8% user,  0.0% nice,  2.3% system,  0.4% interrupt, 12.5% idle
CPU 7: 88.7% user,  0.0% nice,  1.2% system,  0.0% interrupt, 10.1% idle
Mem: 965M Active, 5445M Inact, 961M Wired, 134M Cache, 827M Buf, 392M Free
Swap: 4096M Total, 304K Used, 4096M Free

  PID USERNAME  THR PRI NICE   SIZE    RES STATE   C   TIME   WCPU COMMAND
 8077 root        1 103    0 34732K 28832K CPU2    2   0:04 33.25% cc1
23143 root        1 100    0 35372K 28828K CPU6    6   0:02 21.58% cc1
25480 root        1  99    0 35036K 27660K RUN     0   0:02 17.97% cc1
25276 root        1  76    0  7832K  1708K wait    1   0:00  2.39% xgcc
[...]

Mehr Informationen zu pcpustat und top findet man in den Manpages pcpustat(1) und top(1).

 Permalink

Bestimmte Spalten entfernen

Möchte man bestimmte Spalten einer Eingabe entfernen so kann dazu colrm verwendet werden. Im folgenden Beispiel werden die Spalten vom zweiten bis zum fünften Zeichen der Eingabe entfernt:

# cat testdatei 
a b c d e
1 2 3 4 5
v w x y z
# cat testdatei | colrm 2 5
a d e
1 4 5
v y z

Wird nur eine Startposition angegeben so werden alle Zeichen danach entfernt:

#  cat testdatei | colrm 6
a b c
1 2 3
v w x

Befinden sich Tabulatoren in der Eingabe so werden diese als 8 Zeichen gezählt:

# cat testdatei
        90
# cat -t testdatei
^I90
# cat testdatei | colrm 10
        9

Auf FreeBSD ist colrm standardmässig im Basissystem vorhanden. Mehr Informationen zu colrm findet man in der Manpage colrm(1).

 Permalink

Ausgabe eines Programmes in eine Tabelle umwandeln

Mit Hilfe der -t Option von column lässt sich die Ausgabe eines oder mehrerer Programme in eine Tabelle umwandeln. Im folgenden Beispiel wird von der Ausgabe von ls -l die total Zeile entfernt, Spaltennamen hinzugefügt und das Ergebnis in eine Tabelle umgewandelt:

# ls -l
total 1224
-rw-r--r--  1 beat  users      100 23 Sep  2005 adblock.txt
-rw-r--r--  1 beat  users  1162706 19 Jul  2005 beat.txt
-rw-r--r--  1 beat  users     5483  2 Jan  2008 changebundle.txt
-rw-r--r--  1 beat  users      543  7 Apr  2005 fehlermeldung.txt
-rw-r--r--  1 beat  users      907 27 Dez  2004 firefox.txt
-rw-r--r--  1 beat  users     9181  4 Sep 19:44 freebsd.txt
-rw-r--r--  1 beat  users    16026  5 Feb  2006 hosts.txt
-rw-r--r--  1 beat  users     2434 10 Dez  2005 mapper.txt
-rw-r--r--  1 beat  users    19913 17 Mai  2005 netbsd.txt
-rw-r--r--  1 beat  users     8661 14 Dez  2007 openbsd.txt
# ( echo PERMISSION LINKS OWNER GROUP SIZE DAY MONTH HH:MM/YEAR NAME ; ls -l | sed 1d ) | column -t
PERMISSION  LINKS  OWNER  GROUP  SIZE     DAY  MONTH  HH:MM/YEAR  NAME
-rw-r--r--  1      beat   users  100      23   Sep    2005        adblock.txt
-rw-r--r--  1      beat   users  1162706  19   Jul    2005        beat.txt
-rw-r--r--  1      beat   users  5483     2    Jan    2008        changebundle.txt
-rw-r--r--  1      beat   users  543      7    Apr    2005        fehlermeldung.txt
-rw-r--r--  1      beat   users  907      27   Dez    2004        firefox.txt
-rw-r--r--  1      beat   users  9181     4    Sep    19:44       freebsd.txt
-rw-r--r--  1      beat   users  16026    5    Feb    2006        hosts.txt
-rw-r--r--  1      beat   users  2434     10   Dez    2005        mapper.txt
-rw-r--r--  1      beat   users  19913    17   Mai    2005        netbsd.txt
-rw-r--r--  1      beat   users  8661     14   Dez    2007        openbsd.txt

Standardmässig wird zur Bestimmung der Spalten das Leerzeichen verwendet, möchte man anderes Zeichen verwenden, so kann dies mit der -s Option angegeben werden:

# echo test_test_test | column -t -s _
test  test  test

Auf FreeBSD ist column standardmässig im Basissystem vorhanden. Mehr Informationen zu column findet man in der Manpage column(1).

 Permalink

Fehlende gzip-Dateiendung hinzufügen

Fehlt einer mit gzip komprimierten Datei die .gz-Dateiendung, so kann die Datei unter Umständen nochmals mit gzip komprimiert werden:

# file *
test:                          gzip compressed data, from Unix, last modified: Sat May  2 17:41:57 2009
virtualbox-2.2.2r19307.tar.gz: gzip compressed data, from Unix, last modified: Mon May  4 22:55:32 2009
# gzip virtualbox-2.2.2r19307.tar.gz
gzip: virtualbox-2.2.2r19307.tar.gz already has .gz suffix -- unchanged
# gzip test
# file *
test.gz:                       gzip compressed data, was "test", from Unix, last modified: Sat Aug 28 23:27:41 2010
virtualbox-2.2.2r19307.tar.gz: gzip compressed data, from Unix, last modified: Mon May  4 22:55:32 2009

Mit Hilfe von zforce kann nun allen mit gzip komprimierten Dateien ohne .gz-Dateiendung diese angefügt werden:

# file *
firefox.txt:                   news or mail text
virtualbox-2.2.1r19283.tar.gz: gzip compressed data, from Unix, last modified: Sat May  2 17:41:57 2009
virtualbox-2.2.2r19307.tar:    gzip compressed data, from Unix, last modified: Mon May  4 22:55:32 2009
virtualbox-2.2.2r19378.tar.gz: gzip compressed data, from Unix, last modified: Tue May  5 18:42:19 2009
virtualbox-2.2.2r19453.tar.gz: gzip compressed data, from Unix, last modified: Wed May  6 21:33:10 2009
# zforce *
virtualbox-2.2.2r19307.tar -- renamed to virtualbox-2.2.2r19307.tar.gz
# file *
firefox.txt:                   news or mail text
virtualbox-2.2.1r19283.tar.gz: gzip compressed data, from Unix, last modified: Sat May  2 17:41:57 2009
virtualbox-2.2.2r19307.tar.gz: gzip compressed data, from Unix, last modified: Mon May  4 22:55:32 2009
virtualbox-2.2.2r19378.tar.gz: gzip compressed data, from Unix, last modified: Tue May  5 18:42:19 2009
virtualbox-2.2.2r19453.tar.gz: gzip compressed data, from Unix, last modified: Wed May  6 21:33:10 2009

Auf FreeBSD ist zforce standardmässig im Basissystem vorhanden. Mehr Informationen zu zforce findet man in der Manpage zforce(1).

 Permalink

Datei sortieren

Mit Hilfe von sort lässt sich der Inhalt einer Datei oder die Ausgabe der Standardausgabe sortieren:

# cat testdatei 
1
k
5
l
0
e
c
d
# sort testdatei 
0
1
5
c
d
e
k
l

Sollen Zahlen sortiert werden, kann die -n Option verwendet werden so dass die Zahlen nach ihrem Wert sortiert werden:

# cat testdatei 
1
12
103
2
22
222
4
5
99
# sort testdatei
1
103
12
2
22
222
4
5
99
# sort -n testdatei
1
2
4
5
12
22
99
103
222

Soll das Ergebnis in umgekehrter Reihenfolge ausgegeben werden, kann die -r Option verwendet werden:

# sort -r testdatei
l
k
e
d
c
5
1
0

Durch die -u Option werden keine identischen Zeilen angezeigt:

# cat testdatei
c
b
a
c
b
a
# sort -u testdatei 
a
b
c

Auf FreeBSD ist sort standardmässig im Basissystem vorhanden. Mehr Informationen zu sort findet man in der Manpage sort(1).

 Permalink
Prev Next61-70/325