উত্তর:
কখন ls
এটি চালানো হয় শুধু আপনি ফাইল তালিকা এবং অন্য কিছুই দেখায়। ls -al
অন্য দিকে অনেক বেশি তথ্য দেখায়, এবং যাতে এটি করতে হয় পরিসংখ্যান (1) যারা ফাইল।
এবং যদি ফাইলটি এমন কোনও ফাইলের সাথে জাগ্রত হয় যা অপারেশনটি সম্ভবত একটি দীর্ঘ সময় নিতে পারে।
আমার সমস্যা ছিল যে কিছু ফাইলের গ্রুপ আর বিদ্যমান ছিল না
-rw------- 1 nifle 10001 21499 Jan 25 14:31 .bash_history
-rw-r--r-- 1 nifle 10001 304 Dec 6 2004 .bash_logout
-rw-r--r-- 1 nifle 10001 222 Dec 16 14:05 .bash_profile
-rw-r--r-- 1 nifle 10001 124 Dec 6 2004 .bashrc
আমার স্নাতকের chown nifle:nifle .bash*
সমস্যা সাজানো।
কখনও কখনও এটি একটি উপাধি জিনিস, শেল দ্বারা অতিরিক্ত প্রসেসিং বা স্টোরেজ ডিভাইস ধীর অ্যাক্সেস হতে পারে।
আমার উপর, আমি এটা উদার হিসাবে করেছি:
$ type ls
ls is aliased to `ls $LS_OPTIONS'
যে ক্ষেত্রে, চলমান হিসাবে \ls -al
সরাসরি এটা কল করতে পারে।
শেল প্রক্রিয়াকরণের জন্য, আপনি শেল ট্রেসিং সক্রিয় করে এটি পরীক্ষা করতে পারেন, উদাঃ।
$ set -x
$ ls
+ ls -G -h
README.txt index.php
++ update_terminal_cwd
++ local url_path=
++ local i ch hexch LC_CTYPE=C LC_ALL=
++ (( i = 0 ))
++ (( i < 26 ))
++ ch=/
++ [[ / =~ [/._~A-Za-z0-9-] ]]
++ url_path+=/
++ (( ++i ))
++ (( i < 26 ))
++ ch=U
++ [[ U =~ [/._~A-Za-z0-9-] ]]
++ url_path+=U
++ (( ++i ))
++ (( i < 26 ))
++ ch=s
... hundred of other lines
$ set +x
$ echo $PROMPT_COMMAND
update_terminal_cwd
অবশেষে আপনার চেক করুন ls
সময়:
$ time ls -la
...
real 0m0.025s
user 0m0.001s
sys 0m0.004s
যদি তোমার sys
সময় খুব বেশী, চেক load avg
মধ্যে top
এই মুহুর্তে আপনার মেশিনটি হ্রাস করার ক্ষেত্রে কমান্ডটি কমান্ড করুন, বিকল্পভাবে আপনার হার্ড ড্রাইভটি বেঞ্চমার্ক করুন, আপনার কাছে অনেকগুলি I / O অনুরোধ চলছে (দ্বারা চেক করুন: iotop
অথবা vmstat
)।
যদি এটি প্রায়শই নীরব থাকে তবে সর্বদা বিভিন্ন শেল বা tmpfs পার্টিশনে পরীক্ষা করুন ( /tmp
) যা খুব দ্রুত হতে হবে।
stat-ing
যদি আপনার ডিরেক্টরীতে সিম্বলিং থাকে, তবে সংযোগটি এখনও স্বাস্থ্যকর কিনা তা নিশ্চিত করার জন্য সিস্টেমে ঘুমন্ত ডিস্কগুলি জাগানোর প্রয়োজন হতে পারে (লস-কালের রঙ কোডগুলি কোনও বৈধ অবস্থান নির্দেশ করে কিনা সেটির ভিত্তিতে সিলেকিংগুলি)।