Mac'imdeki yazılımın (10.8.2, MacBook Pro) neden bu kadar yavaş olduğunu çözemiyorum.
Mac'imde lsof
bir dakikadan fazla sürüyor:
$ touch /tmp/testfile
$ time lsof /tmp/testfile
real 1m16.483s
user 0m0.029s
sys 1m15.969s
Tipik bir Linux kutusunda, Ubuntu 12.04'ü çalıştırmak lsof
20 ms sürer:
$ touch /tmp/testfile
$ time lsof /tmp/testfile
real 0m0.023s
user 0m0.008s
sys 0m0.012s
Çalıştırırsam sorun devam eder lsof -n
(DNS aramalarını önlemek için). Ayrıca, ben sistem çağrıları yapılır denetimi çalıştı lsof
kullanarak dtruss
ve onu aramasını olduğunu tespit proc_info
onlarca, binlerce kere:
$ sudo dtruss lsof /tmp/testfile 2> /tmp/dump
$ cat /tmp/dump | sort | uniq -c | sort -nr | head
10000 proc_info(0x2, 0x1199, 0x8) = 1272 0
6876 proc_info(0x2, 0x45, 0x8) = 1272 0
2360 proc_info(0x2, 0x190D, 0x8) = 1272 0
1294 proc_info(0x2, 0xFF, 0x8) = 1272 0
1152 proc_info(0x2, 0x474, 0x8) = 1272 0
1079 proc_info(0x2, 0x2F, 0x8) = 1272 0
709 proc_info(0x2, 0xFE, 0x8) = 1272 0
693 proc_info(0x2, 0x1F, 0x8) = 1272 0
623 proc_info(0x2, 0x11A, 0x8) = 1272 0
528 proc_info(0x2, 0xF7, 0x8) = 1272 0
Herhangi bir fikir? Bu testleri yaptım ve aynı sonuçları hem lsof
OS X'in (4.85) içerdiği sürümünü hem de ftp://sunsite.ualberta.ca/pub/Mirror/lsof/ (4.87) adresindeki son sürümü kullanarak elde ettim .
(Meraklı için, bu performanstan dolayı hüsrana uğramamın nedeni, görüntüleri Evernote'a sürüklediğimde lsof
, dosya kopyalama sürecinde çalışarak , sistemimi her zaman bir görüntü eklemeye çalıştığımda tam bir dakika beklememize neden olmasıdır. Evernote'ta.)
lsof
Argüman olmadan çalışırsam (tüm dosyaları listelemek için), bir dakika bekler ve sonra tüm dosyaları yazdırır. Ancak, bahsettiğim gibi, / tmp dizininde açık bir tek dosya olanları listelemeye çalışırsam hala askıda kalıyor, bu yüzden sorun olan belirli bir açık dosya değil. Ayrıca, herhangi bir AirServer işlemi gerçekleştirmiyorum.
sudo opensnoop -n lsof
.
sudo opensnoop -n lsof
ve lsof /tmp/testfile
iki sekmelerde ve sadece üç dosya açılmış verildiği bildirildi opensnoop. Bu nedenle, sorun aşırı sayıda dosya açılmamalıdır, aşırı proc_info
çağrılarla ilgili bir şey olmalıdır .