সেন্ট্রস / ফেডোরার মধ্যে ডিট্রেস সীমাবদ্ধ


8

আমি একটি সমস্যা নিয়ে সেন্টোস 6 বাক্সে কাজ করতে চেয়েছিলাম। আমি dtrace চালানো এবং এটি ব্যর্থ হয়েছে। স্বীকার না করে -nবা -lবা -Pবা কোন কমান্ড লাইন অপশন। এটি শুধুমাত্র গ্রহণ করতে দাবি -h, -G, -C, -I, -s, এবং -o। আমি বুঝতে পারি এটি অবশ্যই কিছু অদ্ভুত Centos জিনিস, তাই আমি ফেডোরা 22 বাক্সে যাচাই করতে গিয়েছিলাম। একই সমস্যা। এটি কেবলমাত্র সীমিত সংখ্যক কমান্ড লাইন অপশন গ্রহণ করে। আমি একটি ওরাকল বাক্স চেষ্টা করতে গিয়েছিলাম, যা সেন্টোসের মতো রেডহ্যাট এবং ফেডোরার মতো similar এটা ভাল কাজ করে। আমি ঠিক চালাতে সক্ষম হয়েছি dtraceএবং সমস্ত কমান্ড লাইনের বিকল্পগুলির একটি দীর্ঘ তালিকা পেতে পারি। আমি সেন্টোস এবং ফেডোরায় ফিরে গেলাম। আমি প্রবেশ করার পরে dtrace, আউটপুট হয়Usage /bin/dtrace [--help] [-h | -G] [-C [-I<Path>]] -s File.d [-o <File>]। সুতরাং, গুগলিংয়ের এক ঘন্টা পরে, আমি ছেড়েছি। আপনি সেন্টোস / ফেডোরায় সঠিকভাবে কাজ করার জন্য কীভাবে ড্রেসেস পাবেন? আমি রুট এবং একটি ব্যবহারকারী হিসাবে উভয় চেষ্টা করেছি। কার্যকারিতা বাড়াতে আমি প্যাকেজগুলির সন্ধান করেছি। আমি dtrace অপসারণ এবং পুনরায় ইনস্টল করার চেষ্টা করেছি। প্যাকেজটি সরানো এবং উত্স থেকে dtrace ইনস্টল করা একমাত্র জিনিস।


ওরাকল মেশিনে, dtrace -n BEGINকাজের মতো কিছু চালানো (ট্রেস দেখায়)। সেন্টোস / ফেডোরা মেশিনে, আমি ব্যবহারের ত্রুটি পেয়েছি কারণ -n সমর্থিত নয়। প্রায় কোনও কমান্ড লাইনের বিকল্প সমর্থিত নয়।
কাইনাও

উত্তর:


8

Dtrace আপনি ওরাকল লিনাক্স খুঁজতে না dtrace যা লিনাক্স SystemTap সঙ্গে এবং আপনার প্রত্যেক অন্যান্য লিনাক্স ডিস্ট্রিবিউশন উপর যে পাবেন আসে।

বরং এটি সোলারিস ডিট্রেসের একটি বন্দর যা ওরাকল দ্বারা সরবরাহ করা হয় এবং এটি কেবল ওরাকল লিনাক্সে উপলব্ধ।

দুটি কমান্ড সম্পূর্ণ আলাদা এবং বিভিন্ন উদ্দেশ্য রয়েছে।

স্ট্যান্ডার্ড লিনাক্স কার্নেল ট্রেসিং সুবিধাটি সিস্টেমট্যাপ হিসাবে পরিচিত, এবং ওরাকলের ডিট্রেস কেবল তার মালিকানাধীন র‌্যাপার। আপনি সর্বদা সরাসরি সিস্টেমট্যাপ ব্যবহার করতে পারেন ।


4

dtraceস্ক্রিপ্ট অ-ওরাকল লিনাক্স ডিস্ট্রো আসে থেকে সামান্য টুল systemtapপ্রকল্পের। এটি <sys/sdt.h>সোলারিস ডিট্রেসের কেবল- সম্পর্কিত সম্পর্কিত অবজেক্ট / শিরোনাম-ফাইল বিল্ডিং কার্যকারিতা সরবরাহ করে। এটি সিস্টেমট্যাপের ডেটা স্ট্রাকচারে এটি ম্যাপ করে, সুতরাং stap -L 'process("a.out").mark("*")প্রোবগুলি উপকরণের তালিকা তৈরি করবে list


3

এখন আপনি বিপিএফট্রেস ব্যবহার করতে পারেন!

https://github.com/iovisor/bpftrace

BPFtrace is a high-level tracing language for Linux enhanced Berkeley Packet Filter (eBPF) available in recent Linux kernels (4.x). BPFtrace uses LLVM as a backend to compile scripts to BPF-bytecode and makes use of BCC for interacting with the Linux BPF system, as well as existing Linux tracing capabilities: kernel dynamic tracing (kprobes), user-level dynamic tracing (uprobes), and tracepoints. The BPFtrace language is inspired by awk and C, and predecessor tracers such as DTrace and SystemTap. BPFtrace was created by Alastair Robertson.

bpftrace প্রোব ধরণের

পুরানো উত্তর:

You can install the Linux port of Sun/Oracle dtrace from source here: https://github.com/dtrace4linux/linux

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