Soolan, df komutu için 5. mesajda mevcut 30 saniyenin üzerinde çıktı benim görüşüme göre oldukça anormal... ve muhtemelen sizinki de
.
Gecikmenin nedeninin ne olduğunu araştırmak için strace imkanını kullanarak df sağladığın tüm sistem çağrılarında neler olup bittiğini görebilir ve belki de bu anormalliği açıklayabilecek düzeyde büyük bir zaman aralığını bulabilirsiniz.
Bu öneriyi akılda tutarak, df miktarının çıkışını üretme yolunda her sistem biriminin yapılması için geçen süreyi kaydeden bir seçenekle birlikte df anaparasını izlemek için strace temelde çalıştırabilirsiniz. Strace'in çıkmasını inceleyebilecek bir dosyaya kaydetmesini sağlayın. Örneğin şunun çalıştırılması:
[kod]
strace --sistem çapı-zamanları -o duTraceFile.txt df -h
[/kod]
strace, bu komutta, her sistem programının yapılması için geçen süreyi "biz" düzeyinde (saniyenin binde biri) kaydedecek ve sonuçları dfTraceFile.txt dosyasına yerleştirecektir.
makinede çıkanların bir kısmı burada:
[kod]
1 execve("/usr/bin/df", ["df", "-h"], 0x7ffdc48f6550 /* 39 değişken */) = 0 <0,000554>
2 brk(BOŞ) = 0x56236475c000 <0,000031>
3 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3ca7f6e000 <0,000041>
4 erişim("/etc/ld.so.preload", R_OK) = -1 ENOENT (Böyle bir dosya veya dizin yok) <0.000020>
5 openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 <0,000024>
6 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=69335, ...}, AT_EMPTY_PATH) = 0 <0,000020>
7 mmap(NULL, 69335, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f3ca7f5d000 <0,000025>
8 kapat(3) = 0 <0,000015>
9 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 <0,000020>
10 okuma(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220x\ 2\0\0\0\0\0"..., 832) = 832 <0,000018>
<kesinti>
100 statfs("/tmp/.mount_LibreW1c5Vc7", {f_type=FUSE_SUPER_MAGIC, f_bsize=512, f_blocks=0, f_bfree=0, f_bavail=0, f_files=0 , f_ffree=0, f_fsid={val=[0, 0] }, f_namelen=255, f_frsize=512, f_flags=ST_VALID|ST_RDONLY|ST_NOSUID|ST_NODEV|ST_RELATI ME}) = 0 <0,000135>
101 newfstatat(1, "", {st_mode=S_IFCHR|0620, st_rdev=makedev(0x88, 0xa), ...}, AT_EMPTY_PATH) = 0 <0,000017>
102 write(1, "Kullanılan Dosya Sistemi Boyutu Mevcut"..., 49) = 49 <0.000022>
103 write(1, "udev 7.7G 0 7.7G"..., 43) = 43 <0.000016>
104 write(1, "tmpfs 1.6G 1.6M 1.6G"..., 43) = 43 <0.000020>
105 write(1, "/dev/nvme0n1p3 443G 12G 409G"..., 40) = 40 <0,000016>
106 write(1, "tmpfs 7.7G 0 7.7G"..., 47) = 47 <0.000031>
107 write(1, "tmpfs 5,0M 12K 5,0M"..., 48) = 48 <0,000017>
108 write(1, "efivarfs 192K 99K 89K"..., 64) = 64 <0,000024>
109 write(1, "/dev/nvme0n1p1 476M 5,9M 470M"..., 48) = 48 <0,000025>
110 write(1, "tmpfs 1,6G 2,5M 1,6G"..., 53) = 53 <0,000018>
111 kapat(1) = 0 <0,000016>
112 kapat(2) = 0 <0,000015>
113 çıkış_grubu(0) = ?
114 +++ 0 +++ ile çıkıldı
[/kod]
Satırlar numaralandırılmıştır, böylece nasıl kesildiğini görebilirsiniz. Makinedeki dosya renkli yazdırılıyor ve sistem ekranının saatleri yeşil renkle vurgulanıyor, ancak silindiğinde renk olmadan, sistem ekranıyla başlayan bölümlerinin son saatlerini görebilirsiniz. . Örneğin 0,000554, saniyenin onbinde biri olan 554'tür.
102. satırdan başlayan gerçek çıktı metnini üreten "yazma" sistem çağrılarının konfigürasyonları verilmektedir.
Bu alternatif, bu kötü zaman gecikmesini çözmenin ilk çözümüdür. Belki ne seçebilirsiniz bakın.