আমি বুঝতে পারি না কেন আমার ম্যাকের (10.8.2, ম্যাকবুক প্রো) এত কম ধীরে ধীরে লসফ।
আমার ম্যাকে lsof
এক মিনিটেরও বেশি সময় লাগে:
$ touch /tmp/testfile
$ time lsof /tmp/testfile
real 1m16.483s
user 0m0.029s
sys 1m15.969s
একটি সাধারণ লিনাক্স বাক্সে, উবুন্টু 12.04 চলমান lsof
সময় লাগে 20 এমএস:
$ touch /tmp/testfile
$ time lsof /tmp/testfile
real 0m0.023s
user 0m0.008s
sys 0m0.012s
যদি আমি চালিত করি lsof -n
(ডিএনএস লুকআপ এড়াতে) সমস্যাটি বজায় থাকে । আরও, আমি lsof
ব্যবহার করে কোন সিস্টেম কলগুলি করা হচ্ছে তা যাচাই করার চেষ্টা করেছি dtruss
এবং দেখেছি এটি proc_info
কয়েক হাজার বার কল করছে:
$ 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
কোন ধারনা? আমি এই পরীক্ষাগুলি চালিয়েছিlsof
এবং ওএস এক্স (4.85) এর সাথে অন্তর্ভুক্ত সংস্করণ এবং সেই সাথে ftp://sunsite.ualberta.ca/pub/Mirror/lsof/ (4.87) এর সর্বশেষ সংস্করণ উভয়ই ব্যবহার করে একই ফলাফল পেয়েছি ।
(কৌতূহলের জন্য, এই পারফরম্যান্সে আমি হতাশ হওয়ার কারণটি হ'ল আমি যখন ছবিগুলি এভারনোটে টেনে আনি, lsof
তখন ফাইলটি অনুলিপি করার প্রক্রিয়াটি চালিত হয়, প্রতিবার যখন আমি একটি চিত্র সন্নিবেশ করার চেষ্টা করি তখন আমার সিস্টেম পুরো মিনিটের জন্য স্তব্ধ হয়ে যায়) এভারনোটে।)
lsof
কোনও যুক্তি ছাড়াই (সমস্ত ফাইলের তালিকা করতে) চালনা করি তবে এটি এক মিনিটের জন্য স্তব্ধ হয়ে যায় এবং তারপরে সমস্ত ফাইল মুদ্রণ করে। তবে, যেমনটি আমি বলেছি, / টিএমপি ডিরেক্টরিতে কার কাছে একটি একক ফাইল খোলা আছে তা যদি আমি তালিকাভুক্ত করার চেষ্টা করি তবে এটি স্থির থাকে, সুতরাং এটি কোনও নির্দিষ্ট ওপেন ফাইল নয় যা সমস্যা। এছাড়াও, আমি কোনও এয়ার সার্ভার প্রক্রিয়া চালাচ্ছি না।
sudo opensnoop -n lsof
।
sudo opensnoop -n lsof
এবং lsof /tmp/testfile
দুটি ট্যাব রেখেছি এবং ওপেনসনুপ কেবল তিনটি ফাইল খোলার কথা জানিয়েছে। সুতরাং সমস্যাটি অত্যধিক সংখ্যক ফাইল খোলার কথা নয়, তবে অতিরিক্ত proc_info
কলগুলির সাথে সম্পর্কিত something