由於處理磁盤報警的需要,進行了日志壓縮,在此次壓縮中分別使用了gzip和xz軟件對文本進行了壓縮,壓縮的結果非常令人詫異。
出於對xz好奇的原因是因為在下載內核源代碼時經常可以看到.xz格式的文件包,而且其大小比.gz和.bz2格式的文件都小一些。首先簡單介紹一下gzip和xz:
gzip:GZIP最早由Jean-loup Gailly和Mark Adler創建,用於UNⅨ系統的文件壓縮。我們在Linux中經常會用到後綴為.gz的文件,它們就是GZIP格式的。現今已經成為Internet 上使用非常普遍的一種數據壓縮格式,或者說一種文件格式。
xz:xz是一種壓縮文件格式,采用LZMA SDK壓縮,目標文件較gzip壓縮文件(.gz或·tgz)小30%,較·bz2小15%。
這裡由於磁盤空間有限,我們使用的是-9參數來進行壓縮,使用每種壓縮的最高壓縮比,使用的名利如下:
gzip:gzip -9 -c source_filename > source_filename.gz
xz:xz -9 -c source_filename > source_filename.xz
最終測試結果如下圖所示:
從圖中可以看出源文件iqas-2015-07-28的大小為35G,經過gzip的壓縮,最終文件為4.6G的大小,壓縮比大約為1:8,這已經是一個很好的成績了,但是再來看下經過xz壓縮後的文件的大小為401M,這相比gzip來說又小了一個數量級,壓縮比接近1:90,這對於文本存儲來說無疑是節省了大量的空間。但是需要注意的是xz的9級壓縮非常耗時間和內存,如果時間和內存足夠的情況下,可以考慮該方法,如果時間和內存比較緊,則建議使用gzip。