স্থগিতের সমস্যাটি কীভাবে ডিবাগ করা যায়?


11

আমি এইচপি কমপ্যাক 610 এ ফেডোরা 14 ইনস্টল করেছি এবং সাসপেন্ড বৈশিষ্ট্যটি ভাল কাজ করেছে। এখন যে আমি বৈজ্ঞানিক লিনাক্স 6.1 স্থগিত করেছি তা আর কাজ করে না। আমি কীভাবে এটি ডিবাগ করব / ঠিক করব?


এটি কি শেল সাসপেন্ড (<kbd> Cntl-z </kbd>) বা ওএস (ঘুম বা হাইবারনেট)?
আর্জেজ

@ আর্জেজ: আমি ধরে নেব তিনি এসিপিআই স্থগিতের অর্থ হ'ল, কারণ এটি আজকাল এত সাধারণ সমস্যা হয়ে দাঁড়িয়েছে।
জেএম বেকার

উত্তর:


9

স্থগিতকরণ এবং হাইবারনেট ক্ষমতা হ্যান্ডেল করার অনেকগুলি উপায় রয়েছে, অনেকগুলি পুরানো পদ্ধতি হ্রাস করা হয়। এটি সমাধানগুলির সন্ধান করা কঠিন করে তুলেছে, কারণ মনে হয় প্রতিটি সমাধানই পরবর্তীটির সাথে সম্পূর্ণ সম্পর্কিত নয়। যে বলেন...

বর্তমানে প্রস্তাবিত পদ্ধতিটি, http://pm-utils.freedesktop.org/wiki/ থেকে প্রাপ্ত , অতি সাম্প্রতিক বিতরণের জন্য উপলব্ধ হওয়া উচিত। আপনি প্রথমে pm-utilsইনস্টল করেছেন কিনা, এবং অন্তর্ভুক্ত কমান্ডগুলি প্রত্যাশার সাথে কাজ করছে কিনা তা আমি প্রথমে যাচাই করব ।

প্যাকেজ ইনস্টল করা আছে কিনা তা দেখুন, টার্মিনালে এই কমান্ডটি প্রবেশ করান

rpm -qa | grep pm-utils

এটি আপনার ইনস্টল করা সংস্করণটিকে আউটপুট করে। যদি আপনি প্রত্যাশিত আউটপুট না পান তবে আপনাকে প্যাকেজ ইনস্টল করতে হবে।

sudo yum install pm-utils

আপনি এটি যাচাই হয়ে গেলে, স্থগিত করার আপনার ক্ষমতাটি পরীক্ষা করে দেখুন।

sudo pm-suspend

যদি আপনি স্থগিত না করেন এবং কেন কোনও আউটপুট না পান তবে আপনার সাম্প্রতিক ডেমস্যাগ আউটপুটটি চেক করুন

dmesg | tail -50

এটি আপনাকে শুরু করতে সহায়তা করবে, একবার আপনি কিছু সূত্র পেলে ট্রেইলটির আরও নিচে যাওয়া আরও সহজ। আপনার ফলাফল সম্পর্কিত মন্তব্য সহ ফিরে পোস্ট করুন, আমি আপনাকে বাকি মাধ্যমে পেতে পারি।


আমি এমনকি বিকাল-ইউটিস-ডেভেল ইনস্টল করেছি। জেনো-সাসপেন্ড মূল ব্যবহারকারীর সাথে একই রকম হয় যখন এটি জিনোম / মেনুতে> সাসপেন্ড-> কিছুই ক্লিক করে না, মেশিনটি কেবল "নেটওয়ার্ক বন্ধ আছে" বলে, তবে এটি কেবল অপেক্ষা করে এবং অপেক্ষা করে, ইত্যাদি .. আমি পারি আমি স্থগিত করার চেষ্টা করার পরে কিছুই শুরু করব না। আমি পরে dmesg দেখতে পাবেন, আপনাকে ধন্যবাদ!
ল্যান্সবায়নেস

dmesgআউটপুট আপনাকে বলতে হবে কি দৃশ্য পিছনে ঘটছে। আরও গুরুত্বপূর্ণ বিষয়, বিশেষত যা ব্যর্থ হতে পারে। ও এবং বিটিডাব্লু, আপনার ডেভেল প্যাকেজটির দরকার নেই। কোডগুলি সংকলনের সময় আপনার কেবল সেগুলি প্রয়োজন, তাই নির্দ্বিধায় মুক্ত মনে করুন। এখান থেকে অনেকগুলি দিকনির্দেশ রয়েছে, আমি আপনাকে ভুল গাছের ছাঁটাই প্রেরণ করতে চাই না।
জেএম বেকার 10

1
@ ল্যান্স বেইনস আপনি pm-suspendজিনোম মেনুতে না হয়ে শেল থেকে কমান্ড চালানোর চেষ্টা করেছিলেন ? echo -n "mem" >/sys/power/stateরুট হিসাবে চেষ্টা করুন । এছাড়াও আপনি যদি ব্যবহার করছেন তবে উদাহরণস্বরূপ idাকনাটি বন্ধ করার পরে কোন ইভেন্টগুলি উত্পন্ন হচ্ছে তা acpiআপনি acpi_listenদেখতে পারেন ।

বাহ, ডাব্লুটিএফ? আমি রুট ব্যবহারকারীর সাথে "ইকো-এন" মেম "> / এসআইএস / পাওয়ার / স্টেট", এবং আমার প্রকৃত স্থগিত !!!! কি দারুন. এখন একমাত্র সমস্যাটি হ'ল আমি যখন এই ধরণের সাসপেন্ড করছি তখন জিনোম-স্ক্রিনসেভার শুরু হয় না এবং আমাকে একটি আনলক করা পিসি ছেড়ে দেয়। কিভাবে এই কাছাকাছি পেতে? আমি কীভাবে কোনও স্ক্রিপ্ট / এমন কিছু তৈরি করতে পারি যাতে একজন সাধারণ ব্যবহারকারী এই ধরণের স্থগিতাদেশ ব্যবহার করতে পারেন? শুধু রুট ইউজার নয়? - এবং আরও একটি জিনিস: আপনাকে ধন্যবাদ!
ল্যান্সবায়নেস

2
@ ল্যান্সবায়েস: এখন কি এটি কাজ করছে? ... আমি এই জাতীয় "বিস্ময়" বিশ্বাস করি ব্রেক / মেরামত কেবল উইডোজ এর সাথে ঘটেছিল দুর্ভাগ্যক্রমে, আমি কিছুক্ষণের জন্য এটি বিশ্বাস করা বন্ধ করে দিয়েছি। তবে ... উজ্জ্বল দিকে, এটি প্রায়শই ঘটে! এবং আপনার স্থগিতাদেশ কাজ করছে, সুতরাং এটি দুর্দান্ত খবর!
জেএম বেকার

8

এটি রুট হিসাবে চেষ্টা করুন:

PM_DEBUG=true pm-suspend

তারপরে /var/log/pm-suspend.logকী ভুল হতে পারে সে সম্পর্কে ইঙ্গিতগুলি পরীক্ষা করুন।

আপনি যদি স্থগিত করতে পারেন তবে পুনরায় চালু না করতে পারেন তবে কীভাবে এই সমস্যাটি ডিবাগ করা যায় সে সম্পর্কে উবুন্টু উইকিতে একটি ভাল নিবন্ধ রয়েছে


2

আপনি যখন সিস্টেমটি স্থগিত / পুনরায় চালু করার সময় পেতে চান তবে আপনি এটি চেষ্টা করতে পারেন:

cat /var/log/syslog | grep 'systemd-sleep' | grep "Suspending\|resumed";
Feb  7 10:44:23 dmatej-lenovo systemd-sleep[19900]: Suspending system...
Feb  7 10:44:33 dmatej-lenovo systemd-sleep[19900]: System resumed.
Feb  7 10:45:35 dmatej-lenovo systemd-sleep[20707]: Suspending system...
Feb  7 12:58:39 dmatej-lenovo systemd-sleep[20707]: System resumed.
Feb  7 14:42:55 dmatej-lenovo systemd-sleep[24690]: Suspending system...
Feb  7 16:31:57 dmatej-lenovo systemd-sleep[24690]: System resumed.

1

যেমনটি মিকা পরামর্শ দিয়েছেন, মূল হিসাবে:

PM_DEBUG=true pm-suspend

এর মধ্যে বিশদ:

/var/log/pm-suspend.log

এই ক্ষেত্রে আপনি কোথায় খুঁজছেন

[...] service [servicename] suspend suspend success

শেষ, এবং

[...] service [servicename] suspend resume success

শুরু হয়। আপনার মধ্যে কোথাও কোথাও কলগুলি ফেরত ত্রুটি পাওয়া যেতে পারে, যার পরে সাসপেন্ড বাধা দেওয়া হয়েছে। এই ক্ষেত্রে, আপনার পরিবর্তনগুলি আবার ঘোরানো স্থগিত হতে পারে। কোন পরিষেবা কলটি ত্রুটিটি ছুঁড়েছে তা চিত্রিত করুন, এটি vi তে খুলুন এবং এটি একবার দেখুন।

আমার একই সমস্যা হয়েছিল যেখানে xboxdrvউবুন্টু 12.04 এ ইনস্টল করার পরে , একটি নিয়মে কল করা হচ্ছে এমন /etc/pm/sleep.d/কোনও পরিষেবা বন্ধ করার চেষ্টা করছিল যা কখনও শুরু হয়নি বা অস্তিত্বহীন, এই ক্ষেত্রে xboxdrv,। দেখা যাচ্ছে যে এটি কখনই প্রথম স্থানে শুরু করা যায়নি, কারণ কোনও /lib/modules/uinput.koমডিউল ছিল না , কারণ সেই মডিউলটি কার্নেলের সাথে মিশে গেছে। এটি /etc/pm/sleep.d/xboxdrvকেসটির সাথে "স্থগিত" হওয়ার সাথে মিলে গেলে কেস স্টেটমেন্টটিকে ত্রুটি ছুঁড়ে দেয় service xboxdrv stop। লাইনটি প্রস্তুত #করে স্টেটমেন্টটিকে বাইপাস করে, আপনার কন্ট্রোলারটিকে সাসপেন্ড করে পুনরায় প্লাগ করতে হবে এবং পুনরায় প্লাগ করতে হবে the


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