Rumah  >  Artikel  >  Tutorial sistem  >  Ruang cakera Linux penuh dengan luar biasa, bagaimana untuk menyemak?

Ruang cakera Linux penuh dengan luar biasa, bagaimana untuk menyemak?

WBOY
WBOYke hadapan
2024-02-11 20:57:14852semak imbas

在服务器运维过程中,我们时常会遇到这样的情况,收到服务器磁盘空间告警:<br>

Linux 磁盘空间异常爆满,该怎么查?

Log masuk ke pelayan dan lihat melalui df -Hl

Linux 磁盘空间异常爆满,该怎么查?

Ia konsisten dengan maklumat penggera Kemudian kita perlu mencari direktori atau fail yang menyebabkan ruang cakera menjadi penuh.

Bagaimana untuk mencari direktori atau fail yang menggunakan banyak ruang?

Kaedah yang agak bodoh ialah menggunakan perintah du -hs dalam direktori akar untuk menyenaraikan ruang yang diduduki oleh setiap direktori

Linux 磁盘空间异常爆满,该怎么查?

Kemudian gunakan kaedah yang sama untuk meneruskan carian dalam direktori yang sepadan

Kaedah yang agak cekap ialah menetapkan kedalaman direktori pertanyaan melalui parameter -d du, atau -max-depth Apabila kedalaman direktori bertambah, banyak direktori yang ditanya akan dipaparkan pada masa ini boleh menapis melalui grep.

du -h -d 2|grep [GT] |sort -nr  
du -h --max-depth=2|grep [GT] |sort -nr  

Dengan cara ini, anda boleh mencari direktori besar yang menduduki ruang cakera dalam unit G atau T dan mengisihnya

Atau anda boleh bertanya melalui find

find / -type f -size +1G -exec du -h {} \;  

Dari segi kecekapan, find adalah lebih pantas dan lebih fleksibel daripada du.

Dengan kedua-dua kaedah ini, kita boleh mencari pelakunya dengan cepat mengambil ruang cakera.

Anda fikir ia semudah itu? Banyak kali, anda akan mendapati bahawa selepas mencari untuk masa yang lama melalui find atau du, anda akan mendapati bahawa jumlah ruang yang diduduki adalah sangat berbeza daripada ruang cakera yang diduduki oleh df, seperti dua gambar di atas.

Dilihat melalui df, penggunaan cakera ialah 37G, tetapi dilihat melalui du -hs dalam direktori akar, jumlahnya bertambah sehingga hampir 10G, tiada direktori tersembunyi, siapa yang makan ruang itu?

Jelas sekali, terdapat ruang yang diduduki oleh fail yang dipadamkan. Fail dipadamkan, tetapi sumbernya tidak dikeluarkan.

Saya memperkenalkan arahan yang sangat berguna sebelum ini: lsof, kita boleh menyemaknya dengan arahan berikut

lsof +L1  
Linux 磁盘空间异常爆满,该怎么查?

Dapat dilihat daripada keputusan terdapat fail log yang besar kira-kira 28G Ia telah dipadam, tetapi ruang itu tidak dikeluarkan Ini adalah keadaan yang sangat biasa.

Penyelesaian yang sepadan adalah untuk memulakan semula aplikasi tomcat untuk mengosongkan ruang

Ruang cakera dimakan tanpa sebab?

Ada satu lagi soalan yang sering orang tanya, iaitu cakera yang dilihat melalui df

Linux 磁盘空间异常爆满,该怎么查?

Anda akan mendapati bahawa jumlah Terpakai dan Tersedia tidak mencukupi untuk Saiz, dan sebahagian daripadanya dimakan tanpa sebab

Malah, ini adalah dasar keselamatan sistem fail Linux Secara lalai, ia akan menempah 5% daripada ruang cakera untuk pengguna root untuk kegunaan kecemasan. Ini boleh memastikan beberapa aplikasi utama (seperti pangkalan data) mempunyai sedikit kelonggaran apabila cakera keras penuh, supaya ia tidak akan ranap serta-merta

Kami boleh mengubah suai bahagian ruang yang dikhaskan melalui tune2fs

tune2fs -m 1 /dev/vda1  

Boleh lihat perbandingan sebelum dan selepas dalam gambar di bawah

Linux 磁盘空间异常爆满,该怎么查?

Ruang yang dimakan dengan cara ini dilepaskan!

Atas ialah kandungan terperinci Ruang cakera Linux penuh dengan luar biasa, bagaimana untuk menyemak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:lxlinux.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam