WordPress

WordPress İnode Sorunu

Inodes temel olarak (kullanıcı ve grup) sahipliği, erişim modu (okuma, yazma, izinleri yürütme) ve dosya türü gibi dosya ve klasörler hakkındaki bilgileri depolar.

İnodes Sorunu.Inodes temel olarak (kullanıcı ve grup) sahipliği, erişim modu (okuma, yazma, izinleri yürütme) ve dosya türü gibi dosya ve klasörler hakkındaki bilgileri depolar. Birçok dosya türünde, kullanılabilir dosya sayısı dosya sistemi oluşturulmasında sabittir ve dosya sisteminin alabileceği maksimum dosya sayısını sınırlar. İnode numarası, cihaz üzerinde bilinen bir konumdaki bir inode tablosunu indeksler; inode numarasından, çekirdek, dosyaya erişime izin veren dosyanın konumu dahil olmak üzere inode içeriğine erişebilir.

Bir dosyanın inode numarası ls -i komutunu kullanarak bulunabilir. Ls -l komutu, her dosya için inode içeriğinin bir bölümünü görüntüler. Stat, inode numarası, kapladığı blok sayısı ve blok boyutu da dahil olmak üzere daha kapsamlı bir dosya öznitelik listesi gösterecektir.

Dosya adları ve dizin uygulamaları


[[email protected]] ~ >> stat .bashrc
File: `.bashrc'
Size: 325 Blocks: 8 IO Block: 4096 regular file
Device: ca03h/51715d Inode: 293879 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2011-01-06 09:39:35.000000000 -0500
Modify: 2010-07-28 13:51:44.000000000 -0400
Change: 2010-08-27 16:16:18.000000000 -0400

* İnode’lar dosya isimlerini içermez, sadece dosya meta verilerini içerir.
* Unix dizinleri, her biri bir dosya adı ve bir inode numarası içeren “link” yapılarının listesidir.
* Çekirdek, belirli bir dosya adı arayan bir dizinde arama yapmalı ve ardından dosya adını doğru inode numarasına dönüştürmelidir.
* Çekirdeğin bu verilerin bellekteki temsiline Linux’ta struct inode denir.

Her kullanıcının / dizinin sahip olduğu inode kullanımını (dosya sayısı) özellikle VPS’de faydalı bulabiliriz. Her VPS inode limitine sahip olacaktır (bu VPS’de oluşturulabilecek maksimum dosya sayısı)

Örneğin, inode kullanımı% 100 ise, hangi kullanıcı / dizinin maksimum dosya sayısına sahip olduğunu bulmamız gerekir.

Aşağıdaki komutları çalıştırın


[[email protected]]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/vzfs 800000 800000 0 100% /
simfs 800000 800000 0 100% /tmp
simfs 800000 800000 0 100% /var/tmp


[[email protected] ~]# repquota -a | sort -nk6 | head

Block limits File limits
*** Report for user quotas on device /dev/vzfs
———————————————————————-
Block grace time: 00:00; Inode grace time: 00:00
User used soft hard grace used soft hard grace
test1 +- 25816 25600 25600 none 663 0 0
test2 – 4 0 0 1 0 0
mail – 4 0 0 1 0 0

Benim durumumda kullanıcı mailnull (exim tarafından kuyruğa alınan e-postaları depolamak için kullanılan sistem kullanıcısı), posta kuyruğunda yaklaşık 30000 e-posta olduğu için maksimum dosya sayısına sahipti. Aşağıda gösterilen komut çıktısında mailnull kullanıcısı 89971 inode kullanımına sahiptir.

[[email protected] ~]# repquota -a | sort -nk6 | tail
test10 – 375660 4096000 4096000 23463 0 0
test11 – 482460 1024000 1024000 28043 0 0
test12 – 652580 1024000 1024000 29378 0 0
test13 – 286200 4096000 4096000 33996 0 0
test14 – 591400 819200 819200 39027 0 0
test15 — 1528680 0 0 39027 0 0
test16 — 1941748 8192000 8192000 46401 0 0
test17 – 626240 0 0 58163 0 0
mailnull — 1236324 0 0 89971 0 0
root — 3563516 0 0 128345 0 0

[[email protected] ~]#exim -bpc
29930

Postadan sonra maksimum dosya sayısına sahip olan bir sonraki kullanıcı test17’dir (58163). Şimdi hangi dizinin maksimum sayıda dosya içerdiğini bulmamız gerekiyor.

[[email protected] ~]# cd /home/test17
[[email protected] /home/test17]# for d in *; do echo -n “$d: “; find $d -type f | wc -l; done ( This script will display
the directory/file and count the number of files inside that directory )

access-logs: 0
backup-5.27.2008_12-50-20_test17.tar.gz: 1
etc: 6
file.txt: 1
logs: 0
mail: 3
moodledata: 523
public_ftp: 0
public_html: 43469
tmp: 54
www: 0

Burada yine public_html dizini maksimum dosya sayısını içerir.

[[email protected] /home/test17]#cd public_html
[[email protected] /home/test17/public_html]# for d in *; do echo -n “$d: “; find $d -type f | wc -l; done | sort -nk2 | tail -5

x_bck: 4576
x4: 4630
x5: 4680
x6: 4788
x7: 14823

Son olarak, x7 dizini maksimum dosya sayısını (inode) içerir. Benzer şekilde, bu yöntemi kullanarak herhangi bir linux sunucusunda hangi kullanıcı / dizinin maksimum dosya sayısına sahip olduğunu bulabiliriz. Bu komut, inode’ların büyük bir bölümünü kullanarak klasörü bulmanıza yardımcı olabilir. Geçerli klasördeki en fazla inode değerini kullanan ilk 5 dosya sistemi nesnesini çıkarır:


for i in `ls -1A`; do echo "`find $i | sort -u | wc -l` $i"; done | sort -rn | head -5

====================================

Hesabınızın kullandığı inode sayısını azaltmak için şunları yapmalısınız:

1) İhtiyacınız olmayan tüm dosyaları / klasörleri kaldırın;

2) sahip olduğunuz önbellek dosyalarının sayısını kontrol edin; Joomla gibi uygulamalar birçok önbellek dosyası oluşturabilir; önbellek klasörünüzü düzenli olarak kontrol etmeli ve sakladığınız önbellek dosyalarının sayısını azaltmalısınız;

3) Varsayılan Adres (tümünü yakalama) etkinse, posta kutusunu düzenli olarak kontrol ettiğinizden ve ihtiyaç duymadığınız tüm postaları sildiğinizden emin olun;

4) cPanel’in ana e-posta hesabınızı düzenli olarak kontrol edin; Bunun için postalar tutulur:

/ Home / username / posta / cur

/ Home / username / posta / yeni

kullanıcı adı cPanel kullanıcı adınızdır. CPanel’in Dosya Yöneticisini veya en sevdiğiniz FTP istemcisini kullanarak bu klasörlerdeki mesajları manuel olarak silebilirsiniz;

5) ayrıca e-posta hesaplarınızı düzenli olarak kontrol etmeli ve spam mesajlarını onlardan silmelisiniz;

6) İhtiyacınız olmayan veya kullanmayacağınız e-posta hesaplarınız varsa, bunları kaldırmak en iyisidir;

Ek olarak, bir dizin girişini silebilirsiniz, ancak çalışan bir işlem hala dosyayı açıyorsa, inode serbest bırakılmayacaktır. İlk düşüncem, yapabileceğiniz tüm dosyaları silmek ve ardından dosyaları açık tutarak hiçbir işlem kalmadığından emin olmak için kutuyu yeniden başlatmak olacaktır. Son olarak, inode kullanımını geçici olarak azaltmak için bazı gerekli ancak kullanılmamış dosyaları veya klasörleri .tar.gz ile sağlayabilirsiniz.

Unutulmaması gereken son bir şey, eğer du ve df komutunda sunucuda çıkan bir değişiklik görüyorsanız, du komutu, dosya sistemindeki blokların fiziksel sektör boyutunda (4096 bytes) bulunan alanların toplamını toplar. , df dosya sistemindeki tüm (4096 bayt) blokları gösterirken.

Bunun nedeni, dosya sistemi oluşturulduğunda maksimum düğüm sayısının (ve dolayısıyla maksimum dosya ve dizin sayısının) ayarlanmış olmasıdır. Eğer V, bayt cinsinden hacim büyüklüğü ise, varsayılan inode sayısı V / 213 (veya hangisi daha azsa), minimum sayı V / 223 tarafından verilir. Çoğu uygulama için varsayılan yeterliydi. Bir dizindeki en fazla alt dizin sayısı 32000’e sabitlenir.

: Dosya sistemi oluşturma anda daha fazla dosya düğümü oluşturmak için çeşitli yolları vardır , ortalama dosya boyutu 4 KB’den daha az ise de daha kompakt bunları saklamak için daha küçük bir disk blokları kullanabilirsiniz: Not: Bu kadar büyük bir diskte çok küçük dosyalarla, Tek bir dizinde çok fazla dosya varsa performans sorunlarınız olabilir.

mke2fs -i 4096 # one inode per 4kB instead of default 8kB
mke2fs -N 4000000 # create at least 4M inodes
mke2fs -T news # same as using -i 4096

mke2fs -b 2048 -i 2048 # average filesize < = 2kB mke2fs -b 1024 -i 1024 # average filesize < = 1kB 

Bir önceki yazımız olan WordPress Değişiklikleri Geri Alma başlıklı makalemizi de okumanızı öneririz.

Daha Fazla Göster

İlgili Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Başa dön tuşu
Kapalı