কেন শেল প্রম্পট পেতে দশ সেকেন্ড সময় লাগে?


30

এটি এক ধরণের নিয়মিত ঘটনা যা কোনও সার্ভারে এসএসএইচিংয়ের পরে (বা আমার ম্যাকের উপর একটি টার্মিনাল খোলার পরে) লগইন ব্যানারটি তত্ক্ষণাত প্রিন্ট করে তবে শেল প্রম্পটটি প্রদর্শিত হতে 10 মিনিট সময় লাগে। এর পরে, কর্মক্ষমতা ভাল এবং নেটওয়ার্কের বিলম্বিতা অস্বাভাবিক নয়।

এটি গণনামূলকভাবে কঠিন, মেমরি-নিবিড়, বা আইও-ভারী কাজ বলে মনে হচ্ছে না। এটি সমস্ত বিলিয়ন সিপিইউ চক্রের সাথে কী করছে?


8
ssh -v -v -vএবং ur_shell -xবুদ্ধিমান ডিবাগিং পদক্ষেপ হতে পারে।
ট্রিগার করুন

2
আপনার অনেক লাইন আছে .bash_history?
ক্যাস্পার্ড

2
আপনার। প্রোফাইল এবং সম্পর্কিত ফাইলগুলি দেখুন (দুঃখিত, আপনি কোন শেলটি ব্যবহার করছেন তা নিশ্চিত নয়) এবং জিনিসগুলি উন্নত করে কিনা তা দেখতে অস্থায়ীভাবে অপসারণ করুন। আপনার সম্ভবত একটি কমান্ড (গুলি) রয়েছে যা সময়সাপেক্ষে বেরিয়ে আসছে।
দ্য ফিডলারWins

3
বিকল্প হিসাবে মবি ডিস্কের পরামর্শ অনুযায়ী, আপনি যদি শেলের মধ্যে থেকে নিজেই শেলটি শুরু করেন তবে এটি কি এখনও সমান ধীর হয়? যদি বিদ্যমান (সংযুক্ত) অধিবেশনটির মধ্যে থেকে দ্বিতীয় শেল শুরু করার সময় (পুনরায়) সংযুক্ত হওয়া কিন্তু দ্রুত হওয়ার পরে এটি ধীর হয়, তবে এটি আপনাকে বলবে যে এটি শেল নিজেই নয় যা আস্তে আস্তে ঘটাচ্ছে; যদি এটি দুটি পরিস্থিতিতে সমানভাবে ধীর হয়, তবে শুরুর কিছু শেল স্টার্টআপের সময় অনেক সময় নেয়। "শূন্য থেকে শেল প্রম্পট" এর কোন দিকটি ধীর তা সম্পর্কে আপনি কিছুটা শিখতে পারেন।
একটি সিভিএন

2
প্রায়শই এটি জিএসএসপিআই প্রমাণীকরণ হবার চেষ্টা করে (যা আপনি যদি কারবেরোসের দোকান না হন তবে সম্ভবত সম্পূর্ণ অকেজো)। অন্যান্য সময়, এটি ডিএনএসের বিপরীত চেহারা।
চার্লস ডাফি

উত্তর:


33

বেশ কিছু জিনিস এখানে ঘটতে পারে। আপনি নিজের শেলের ম্যানুয়ালটিতে বেশিরভাগ উত্তর খুঁজে পেতে পারেন তবে সেগুলি সাধারণত অবিশ্বাস্যভাবে দীর্ঘ এবং তির্যক হয়, তাই ...

সম্ভাবনা হ'ল আপনার সমস্যাটি কয়েকটি জিনিসের একটিতে ফোটে।

আপনার প্রোফাইল বা বাশার্কে যদি ব্যয়বহুল জিনিস থাকে তবে সেগুলি পিছনে ছাঁটাইয়ের বিষয়টি বিবেচনা করুন।

যদি আপনার প্রোফাইল বা বাশার্ক একটি বিপরীত ডিএনএস লুপ ব্যবহার করে (প্রম্পট বা কিছু সেট করতে), ডিএনএস ঠিক করুন বা পরিবর্তে হোস্টনাম ব্যবহার করুন।

শেলগুলি আরম্ভ করার সময় অন্যান্য জিনিসগুলির সাথে প্রচুর ফাইল খোলায়। যদি সিস্টেমের বোঝা বেশি হয় তবে এটি প্রায়শই এখানে প্রদর্শিত হবে।

যদি ব্যানারটি প্রাক-প্রমাণীকরণ হয় তবে এটি আসলে প্রমাণীকরণ (পাম, এলডিএপি, ইত্যাদি )ও ধীর হতে পারে।

যদিও এটি এই জিনিসগুলির মধ্যে কোনওটিই নাও হতে পারে। প্রম্পট প্রদর্শন করার আগে অবাক করা পরিমাণে জিনিসগুলি ঘটে!


1
অন্য একটি যা আমি জিএসএসএপিআই প্রমাণীকরণের চেষ্টা করার সময় যথেষ্ট পরিমাণে অবরুদ্ধ দেখেছি (যদি এসএসএইচ ক্লায়েন্ট বা সার্ভার কনফিগারেশন বন্ধ না করা হয়)। সিসডিগের মতো একটি সম্পূর্ণ-সিস্টেম ট্রেসিং সরঞ্জাম ব্যবহার করা সম্ভবত এই ধরণের ক্রস-উদ্বেগ সমস্যার তলদেশে পৌঁছানোর জন্য সম্ভবত সেরা সিলভার বুলেট।
চার্লস ডাফি

+1 পুরো উত্তর। এই সাইটে লগইনগুলির জন্য একটি দুর্দান্ত ফ্লোচার্ট রয়েছে যা তারা ফাইল / উত্স এবং অন্যান্য তথ্য কার্যকর করে।
টিম এস

15
+1 টি। আমার জন্য 99% সময় এটি বিপরীত ডিএনএস লুকআপ।
mpontillo

@ মাইক: একই এখানে - এটি ঠিক করা সহজ হওয়ায় আমি এটি দিয়ে শুরু করার পরামর্শ দেব। এটি আমার ক্ষেত্রে 100% ছিল।
ওউজে

22

এটি সম্ভবত ডিএনএসের জন্য অপেক্ষা করছে বা এলডিএপি বা এর মাধ্যমে প্রমাণীকরণের চেষ্টা করছে।

UseDNS no/ Etc / ssh / sshd_config এ যুক্ত করার চেষ্টা করুন

এটি যদি স্থানীয় লগনেও করে থাকে, আপনি কনফিগার করেছেন এমন কোনও এলডিএপি সার্ভার বা ডিএনএস সার্ভার ধীর বা প্রতিক্রিয়াবিহীন কিনা তা পরীক্ষা করুন।


6

একটি সম্ভাবনা (অন্যান্য উত্তর দ্বারা আচ্ছাদিত) হ'ল এসএসএইচ অধিবেশন নিজেই সেটআপ করার প্রক্রিয়াটি যেখানে সময় নষ্ট হয়।

অন্য বিকল্পটি হ'ল এসএসএইচ অধিবেশন প্রতিষ্ঠার পরে রিমোট মেশিনে আপনার শেল স্টার্টআপ স্ক্রিপ্টগুলির এমন কিছু রয়েছে যা দীর্ঘ সময় নিচ্ছে (সম্ভবত কিছু ভাঙা নেটওয়ার্ক মাউন্ট অ্যাক্সেস করার চেষ্টা করছে)। আপনি নিম্নলিখিত দ্বিতীয় সম্ভাবনাটি ডিবাগ করতে পারেন:

অস্থায়ীভাবে আপনার শীর্ষে নীচেরগুলি যুক্ত করুন ~/.bash_profile:

set -x
PS4='+ $(date "+%s.%N")\011 '

set -xপ্রত্যেক শেল কমান্ড জন্য কিছু ডিবাগিং সক্রিয় মৃত্যুদন্ড কার্যকর। PS4পরিবর্তনশীল নিয়ন্ত্রণ কিভাবে যে ডিবাগিং উপস্থাপন করা হয় - বিশেষভাবে এই ক্ষেত্রে আমরা ব্যবহার dateটাইমস্ট্যাম্প যোগ করতে।

আপনার সূচনা স্ক্রিপ্টগুলিতে কোন আদেশগুলি খুব বেশি সময় নিচ্ছে তা দেখতে আপনি ডিবাগিং আউটপুটটির টাইমস্ট্যাম্পগুলি বিশ্লেষণ করতে পারেন।


1
রিমোট সেশনটি খোলার পরে যদি সমস্যাটি ঘটে তবেই সত্য। অনেকগুলি সম্ভাব্য কারণগুলি এসএসএইচ হ্যান্ডশেক এবং প্রমাণীকরণের সময় during
চার্লস ডাফি

2
অনেক উন্নতি হয়েছে। :)
চার্লস ডাফি

3

এটি যদি উবুন্টু সার্ভার হয় তবে লগইন শেলটি চালানোর সময় কোনও প্যাকেজ আপডেট হওয়ার ক্ষেত্রে ডিফল্ট লগইন সেটআপ পরীক্ষা করে। যদি প্যাকেজ তালিকাগুলি ডিস্ক ক্যাশে না থাকে তবে এটি দ্রুত নিষ্ক্রিয় ডেস্কটপে এক বা দুটি নিতে পারে।

$ ssh localhost 
Welcome to Ubuntu 15.04 (GNU/Linux 3.19.0-26-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

*** System restart required ***
Last login: Sat Sep 12 01:38:38 2015 from localhost

এই "পুনঃসূচনা আবশ্যক" বার্তাটি তৈরি করতে, এটি পরীক্ষা করে দেখতে হয়েছিল যে বর্তমানে চলমান কার্নেল বর্তমানে ইনস্টল করা ডিফল্ট কার্নেল নয়। (যেমন একটি কার্নেল ছিল এবং আমি এখনও পুনরায় বুট করিনি)) এটি কোনও সুরক্ষা আপডেটের উপলব্ধ একটি গণনাও প্রিন্ট করবে।

আমি মনে করি উবুন্টুতে লগ ইন করার ক্ষেত্রে এটিই সবচেয়ে বড় মন্দা যা সম্প্রতি চালু হয়েছিল।

যদি তা না হয়, তবে আপনার ~/.bash_profile/ ~/.bashrcসমস্যা হতে পারে।

আপনি নিজের থেকেই সার্ভারে লগ ইন করার চেষ্টা করেছেন ( ssh localhost)? বা এখনই 2 য় বার লগ ইন? (জিনিসগুলি ক্যাশে করা হয় তখন এটি খুব দ্রুত হয় কিনা তা দেখতে))


2

এটি বেশিরভাগ ক্ষেত্রে ডিএনএস অনুরোধের সময়সীমা হয়।

কারণ: সার্ভার ক্লায়েন্টের আইপি ঠিকানা ব্যবহার করে একটি বিপরীত ডিএনএস লুকআপ চেষ্টা করে, এবং কোনও উত্তর পায় না। যদি এ বি এর সাথে সংযুক্ত থাকে, বি এ এর ​​আইপি ঠিকানাটি একটি নামতে রূপান্তরিত করার চেষ্টা করে।

কাজের ভিত্তি: সার্ভারের হোস্ট ফাইলটিতে ক্লায়েন্টের আইপি-ঠিকানা এবং নাম লিখুন and

সমাধান: সমস্ত হোস্টকে ডিএনএস সার্ভারে পরিচিত করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.