حلال المشاكل جافا واحد

لينكس الطبقة القيادة

ذيل

الأكثر شيوعا -f الذيل

ذيل -300f shopbase.log # 300 خط المتبادل وفي الوقت الحقيقي رصد وضع الكتابة ملف

البقرى

البقرى f.txt الغابات # بحث ملف البقرى الغابات f.txt cpf.txt # متعددة ملف بحث البقرى 'سجل' / الوطن / المشرف -r -n # الدليل للعثور على التالي جميع الكلمات الرئيسية التي تطابق ملف القط f.txt | البقرى -i shopbase البقرى 'shopbase' / الوطن / المشرف -r -n --include *. {VM، جافا} # المحدد ملحق الملف البقرى 'shopbase' / الوطن / المشرف -n --exclude *. -r {VM، جافا} # مكافحة مطابقة يليها 10 | مباريات البقرى 5 -A # 3 يليها 10 | مطابقة 10 وما يليها 5 -B # 3 في البقرى | البقرى 5-C 3 # مطابقة عموديا، وهذا من شأنه أن عادة استخدام f.txt القط السليم | البقرى -c "SHOPBASE"

AWK

1 أوامر بسيطة

AWK '{طباعة $ 4، 6 $}' f.txtawk '{طباعة NR، $ 0}' f.txt cpf.txt AWK '{طباعة FNR، $ 0}' cpf.txtawk f.txt '{طباعة FNR، FILENAME، $ 0} "cpf.txtawk f.txt '{طباعة FILENAME" NR = "NR" FNR = "FNR،" $ "NF" = "$ NF}' f.txt cpf.txtecho 1: 2: 3: 4 | AWK -F: '{طباعة $ 1، $ 2، $ 3، $ 4}

2 مباريات

AWK '/ LDB / {الطباعة}' f.txt # مباراة ldbawk '! / LDB / {الطباعة}' f.txt # عدم تطابق ldbawk '/ LDB / && / الاستماع / {الطباعة}' f.txt # مباراة LDB و LISTENawk '$ 5 ~ / LDB / {الطباعة}' f.txt # الخامس LDB مطابقة السلسلة

3 المدمج في المتغيرات

NR: قال NR تردد المفرق وفقا لتسجيل البيانات تلا من AWK شخصية التي، محدد السجلات الافتراضي هو حرف سطر جديد، بحيث يتم قراءة الرقم الافتراضي الصفوف، NR عدد سجل يمكن أن تفهم على أنها اختصار.

FNR: عندما AWK التعامل مع عدة ملفات الإدخال بعد معالجة الملف الأول، NR لا تبدأ من 1، ولكن لا تزال تتراكم، لذلك كانت هناك FNR، كلما كان الوقت الجديد معالجة ملف، FNR سيبدأ العد من 1، يمكن أن يفهم FNR كرقم الملف من السجل.

NF: NF يدل وقد تم تقسيم عدد من الحقول القياسية الحالية، يمكن فهمها NF كما عدد من الميدان.

اكتشاف

سودو -u المشرف العثور على / الوطن / المشرف / تمة / البيرة، اسم \ *. سجل (المزيد من الدلائل للعثور) العثور عليها. -iname \ * النص (القضية مباراة) العثور عليها. من نوع د (الدليل الحالي كل الدلائل) لمزيد من المعلومات العثور على / البيرة من نوع ل (وصلات رمزية تحت الدليل الحالي) العثور على / البيرة من نوع ل -اسم "ض *" -ls (رمزي صلة مثل: inode، دليل) العثور على / الوطن / المشرف الحجم + 250000k (أكثر من 250000k الملف، وبطبيعة الحال، وتغير + - أقل من) العثور على / الوطن / المشرف و -perm 777 ليرة سورية -exec -l {} \؛ (وفقا لأذونات الملف الاستعلام) العثور على / الوطن / المشرف -atime -11 أيام الوصول إليها الملفات تجد / الوطن / المشرف -ctime -11 داخل الدولة من الملفات التي تم تغييرها العثور على / الوطن / المشرف -mtime -11 ضمن الاكتشاف الملف المعدل / الوطن / المشرف -amin -11 دقيقة الوصول الداخلية الملفات تجد / الوطن / المشرف -cmin -11 دقيقة وضع الملفات التي تم تغييرها تجد / الوطن / المشرف ملف تعديل في غضون دقائق -mmin -11

PGM

VM-shopbase الاستعلام دفعة تلبية المعايير الخاصة بك

PGM -A -f VM-shopbase "القط /home/admin/shopbase/logs/shopbase.log.2017-01-17|grep 2069861630"

قيصر

القيصر هي شركة ونحن نملك أداة جمع. من السهل جدا للاستخدام، جمع البيانات التاريخية استمر على القرص، لذلك نحن سريعة للاستعلام عن تاريخ بيانات النظام. بطبيعة الحال، يمكن التطبيقات في الوقت الحقيقي أيضا الاستعلام ذلك. يتم تثبيته على معظم الآلات.

القيصر ### يمكنك عرض معظم المؤشرات الأخيرة من اليوم

القيصر --live ### يمكن عرض المقاييس في الوقت الحقيقي، الافتراضي خمس ثوان فرشاة

-d القيصر 20161218 ### اليوم المعين لعرض البيانات، على ما يبدو نرى سوى بيانات تصل إلى أربعة أشهر

القيصر --memtsar --loadtsar --cpu ### وبطبيعة الحال، فإن هذا الوضع يمكن والمعلمة -d الاستعلام يوم واحد من المؤشرات تناسب

أعلى

بالإضافة إلى أعلى يرى بعض المعلومات الأساسية، والباقي هو مع مشاكل VM الاستعلام

ملاحظة -ef | البقرى javatop -H -p PID

الحصول على منعطف موضوع عشري بعد انتزاع عشري jstack في النهاية في القيام بمشاهدة هذا الموضوع

آخر

NETSTAT -nat | AWK '{طباعة $ 6} | نوع | UNIQ -c | نوع-rn # تحقق من الاتصال الحالي، اهتماما كبيرا CLOSE_WAIT لهذا الوضع، مثل

أداة استكشاف الأخطاء وإصلاحها

btrace

تحمل الكلمة طأة هو btrace. تقدم حقا من بيئة الإنتاج واستكشاف قتل كبير. ما لا يقوله. رمز مباشرة على الجاف

  • معرفة من الذي يسمى حاليا ArrayList طريقة الإضافة، ولكن فقط طباعة ArrayList دعوة موضوع كومة الحالي لأكبر حجم من 500

    OnMethod (clazz = "java.util.ArrayList" أسلوب = "إضافة"، موقع =Location (قيمة = Kind.CALL، clazz = "/.*/" أسلوب = "/.*/"))public ساكنة باطلة م (ProbeClassName سلسلة probeClass،ProbeMethodName سلسلة probeMethod مثيل كائنTargetInstance،TargetMethodOrField طريقة سلسلة) {إذا (getInt (حقل ( "java.util.ArrayList"، "حجم")، مثلا) >  479) {println ( "التحقق من طريقة ArrayList.add:" + probeClass + "#" + probeMethod + "، الأسلوب:" + طريقة + "، حجم:" + getInt (حقل ( "java.util.ArrayList"، " حجم ")، مثلا))؛ jstack ()؛ println ()؛ println (" =========================== ")؛ println ()؛}}
  • ويسمى معلمة عودة الطلب القيمة الحالية رصد وأسلوب خدمة

    OnMethod (clazz = "com.taobao.sellerhome.transfer.biz.impl.C2CApplyerServiceImpl"، طريقة = "الملاحة"، موقع =Location (القيمة = Kind.RETURN)) ساكنة العام باطل طن متري (طويل حاليا، التيار كثافة العمليات، علاقة المترجم، وسلسلة الاختيار، سلسلة redirectUrl،Return AnyType نتيجة) {println ( "المعلمة # حاليا" + حاليا + "، الحالي:" + + التيار "، فيما" + العلاقة + "، الاختيار:" + الاختيار + "redirectUrl:" + redirectUrl + "، نتيجة" + نتيجة)؛}
  • بعض الأدوات لديها مجموعة وظيفية أخرى، أكثر أو أقل، كي لا نقول. الخطوة نرجوا المهتمين جرا. https://github.com/btraceio/btrace

    ملاحظة:

  • من خلال الملاحظة، وإطلاق سراح 1.3.9 من الناتج غير مستقر، لتكون الزناد الأصح عدة مرات لرؤية نتائج

  • عندما يجب أن تسيطر على التعبير مطابقة نطاق الطبقة التتبع المنتظم، وإلا فإن الوضع ومن المرجح أن يؤدي إلى وحدة المعالجة المركزية تطبيق قيد التشغيل الكامل تمسك تظهر

  • لأنه مبدأ بايت كود، تريد تطبيق لاستئناف الظروف العادية، الحاجة إلى إعادة تشغيل التطبيق.

  • الرمادي

    الرمادي هو @ تحفة دو كون في ذلك. يقول البعض عصا تماما وظائف (بعض الوظائف وbtrace تداخل):

    الشوري -df الثلاثون : تفاصيل نوع الانتاج الحالي، يضم الموقع المصدر وهيكل classloader

    أسلوب فئة التتبع : تماما مثل هذه الميزة في وقت مبكر جدا JProfiler في وقت سابق أن نرى هذه الميزة! طباعة تستغرق وقتا طويلا استدعاء الأسلوب الحالي، وصولا الى كل أسلوب. عند استكشاف أداء طريقة غير مفيدة، على سبيل المثال، كنت تستخدم قبل هذا الأمر لتتبع: HTTP: //www.atatech.org/articles/52947.

    القسم غيرها من الميزات والتداخل btrace، يمكنك اختيار الخطوة نرجوا المهتمين.

    يرتبط أيضا هو arthas، وقال انه يستند غرايز، ومن ثم مصلحة مكان = a1z9z.8109794.header.32.1lsoMc

    javOSize

    وظيفة واحدة فقط فصول : عن طريق تعديل رمز بايت، وتغيير محتوى الطبقة، وذلك بأثر فوري. بحيث يمكنك القيام به لجعل نظرة سريعة على مكان إخراج سجل، والعيب هو الغازية أيضا على التعليمات البرمجية. ولكن إذا كانوا يعرفون ماذا يفعلون، الأشياء الجيدة حقا.

    ميزات غرايز وbtrace يمكن القيام بذلك بسهولة أخرى، وأنا لا أقول.

    مقدمة في الكتابة قبل أن أتمكن من رؤية javOSize من الموقع الرسمي للمكان

    JProfiler

    قبل العديد من الأسئلة لتحديد من خلال JProfiler، ولكن الآن غرايز وbtrace الأساسية يمكن أن تحصل. إلى جانب مشكلة هي في الأساس بيئة الإنتاج (العزلة الشبكة)، وذلك باستخدام الأساسية جدا، ولكن لا تزال ترغب في وضع علامة عليه. الموقع الرسمي للمكان https://www.ej-technologies.com/products/jprofiler/overview.html

    قتل كبيرة

    eclipseMAT

    كسوف المكونات الإضافية يمكن أيضا فتح كبرنامج مستقل. لمزيد من المعلومات، يرجى الخطوة

    zprofiler

    وضعت داخل المجموعة ينبغي أن تكون هناك عجب معروفة للجميع حتى. وبعبارة قصيرة: مع zprofiler نقوم أيضا حصيرة لمزيد من المعلومات، يرجى الخطوة zprofiler.alibaba-inc.com

    جافا ثلاثة الحيل، أوه لا، هو سبع

    JPS

    أنا فقط استخدام أمر واحد:

    سودو -u المشرف / الأراضي الفلسطينية المحتلة / تاوباو / جافا / بن / JPS -mlvV

    jstack

    الاستخدام الشائع:

    سودو -u المشرف / الأراضي الفلسطينية المحتلة / تاوباو / تثبيت / ajdk-8_1_1_fp1-B52 / بن / jstack 2815

    الأصلي كومة + جافا:

    سودو -u المشرف / الأراضي الفلسطينية المحتلة / تاوباو / تثبيت / ajdk-8_1_1_fp1-B52 / بن / jstack -m 2815

    jinfo

    رؤية معالم النظام يمكن أن تبدأ على النحو التالي

    سودو -u المشرف / الأراضي الفلسطينية المحتلة / تاوباو / تثبيت / ajdk-8_1_1_fp1-B52 / بن / jinfo -flags 2815

    jmap

    غرضين

    1. مراجعة كومة الوضع

    سودو -u المشرف / الأراضي الفلسطينية المحتلة / تاوباو / تثبيت / ajdk-8_1_1_fp1-B52 / بن / jmap -heap 2815

    2.dump

    سودو -u المشرف / الأراضي الفلسطينية المحتلة / تاوباو / تثبيت / ajdk-8_1_1_fp1-B52 / بن / jmap تفريغ: الحية، شكل = ب، ملف = / تمة / heap2.bin 2815

    أو

    سودو -u المشرف / الأراضي الفلسطينية المحتلة / تاوباو / تثبيت / ajdk-8_1_1_fp1-B52 / بن / jmap تفريغ: تنسيق = ب، ملف = / تمة / heap3.bin 2815

    يتم احتساب 3. نظرة على كومة ليد من؟ إلى جانب zprofiler وbtrace، استكشاف الأخطاء وإصلاحها هو مجرد تهديد

    سودو -u المشرف / الأراضي الفلسطينية المحتلة / تاوباو / تثبيت / ajdk-8_1_1_fp1-B52 / بن / jmap -histo 2815 | رئيس -10

    jstat

    Jstat العديد من المعلمات، ولكن باستخدام واحدة تكفي

    سودو -u المشرف / الأراضي الفلسطينية المحتلة / تاوباو / تثبيت / ajdk-8_1_1_fp1-B52 / بن / jstat -gcutil 28151000

    مجلس الدفاع المشترك

    اليوم، مجلس الدفاع المشترك أيضا تستخدم بشكل متكرر. مجلس الدفاع المشترك يمكن استخدامها لتصحيح مسبقا، على افتراض انك دفع JAVA_HOME غير / الأراضي الفلسطينية المحتلة / تاوباو / جافا /، ميناء تصحيح بعيد هو 8000. لذلك سودو -u المشرف / الأراضي الفلسطينية المحتلة / تاوباو / جافا / بن / مجلس الدفاع المشترك -attach 8000 .

    يبدو نيابة عن أكثر من يبدأ مجلس الدفاع المشترك بنجاح. المتابعة يمكن أن يحدد نقاط التوقف لتصحيح الأخطاء. معايير محددة هي مرئية شرح مسؤول أوراكل

    CHLSDB

    تشعر CHLSDB أكثر الأشياء متعة يمكنك ان ترى في كثير من الحالات، لا يتم وصفها في التفاصيل. سمعت البيانات الاستعلام jstack وأدوات مثل jmap يستند على ذلك.

    سودو -u المشرف / الأراضي الفلسطينية المحتلة / تاوباو / جافا / بن / جافا -classpath /opt/taobao/java/lib/sa-jdi.jar sun.jvm.hotspot.CLHSDB

    أعطى المرضى الرؤية أكثر تفصيلا R كبير

    البرنامج المساعد لفكرة IntelliJ لل

    المروج الرئيسي

    اختصارات بمجرد تذكر، وأكثر من بضع مرات سوف نتذكر دائما، أليس كذلك؟

    مخضرم المساعد

    تحليل مخضرم التبعية هو مساعد جيد.

    خيارات VM

  • صفك في نهاية المطاف هو أي ملف لتحميل من القادم؟

    -XX: + TraceClassLoading نتائج النموذج
  • علق تطبيق يصل ملف تفريغ الانتاج

    -XX: + HeapDumpOnOutOfMemoryError -XX: HeapDumpPath = / الوطن / المشرف / السجلات / java.hprof المعلمات المجموعة VM داخل يكون أساسا هذا الخيار
  • الصراعات حزمة جرة

    هذه العناوين الكتابة وحدها ولكن دون ذلك؟ الجميع أكثر أو أقل تعامل هذه الحالة المزعجة. أنا لا سيما أقل مما الكثير من البرامج لا تعتقد أنك الحصول على عمل؟

    الاعتماد mvn: شجرة >  ~ / Dependency.txt

    تلعب كلها تعتمد

    الاعتماد mvn: شجرة -Dverbose -Dincludes = groupId: artifactId

    لعبت فقط تحديد تبعيات وartifactId من groupId

    -XX: + TraceClassLoading

    وأضاف النصي VM بدء التشغيل. لمزيد من المعلومات حول تحميل الطبقات المرئية في البرنامج النصي بدء التشغيل هر

    -verbose

    وأضاف النصي VM بدء التشغيل. لمزيد من المعلومات حول تحميل دروس مرئية في نصي لبدء التشغيل هر

    الرمادي: الشوري

    رمادية الأمر الشوري يمكن أن نرى بوضوح حيث يتم تحميل الطبقة الحالية من أكثر من

    هر-classloader-تحديد

    يمكنك أن تعرف من أين يتم تحميل الطبقة الحالية من خلال العنوان التالي حليقة HTTP: // المضيف المحلي: 8006 / classloader / تحديد الطبقة = org.apache.xerces.xs.XSObject؟

    ALI-TOMCAT تجلب لنا مفاجأة (بفضل @ مفهوم الأعمال)

    قائمة القوائم تحميل الحاويات جرة

    حليقة HTTP: // المضيف المحلي: 8006 / classloader / الجرار

    القائمة الحالية مفيدة عندما يكون الوضع الفعلي للمحمل الطبقة حزمة جرة الحالية لحل الصراع الطبقي

    حليقة HTTP: // المضيف المحلي: 8006 / classloader / تحديد الطبقة = org.apache.xerces.xs.XSObject؟

    آخر

    gpref

    dmesg

    إذا وجدت نفسك في عملية جافا يأتي من دون الصوت اختفى، تقريبا دون أن تترك أي دليل، وذلك انطلاقا من dmesg، فمن المرجح أن يكون ما تريد.

    سودو dmesg | البقرى -i قتل | أقل

    ابحث عن الكلمات الرئيسية oom_killer. أظهرت النتائج مشابهة لما يلي:

    جافا الاحتجاج أوم قاتل: gfp_mask = 0xd0، النظام = 0، oom_adj = 0، oom_scoe_adj = 0 Oom_kill_process + 0x68 / 0x140 العمل في / قتل LXC011175068174 نتيجة الحد من / LXC011175068174 ذاكرة cgroup من الذاكرة: قتل عملية 215701 (جافا) يسجل 854 أو طفل التضحية مصرع عملية 215701، UID 679، (جافا) مجموع-VM: 11017300kB، حالا-آر إس إس: 7152432kB، ملف-آر إس إس: 1232kB

    يظهر أعلاه أن عملية جافا المقابلة هي OOM القاتل للتخلص من هذا النظام، على درجة من 854. شرح مورد ذاكرة OOM استهلاك القاتل (خارج الذاكرة القاتل)، المراقبين آلية الجهاز. عندما واجهة الجهاز نفاد الذاكرة، فإن آلية مسح جميع العمليات (تحسب وفقا لقواعد معينة، واستخدام الذاكرة، والوقت، الخ)، واقتطاف أعلى درجة من العملية، ثم قتل من أجل حماية الجهاز.

    dmesg وقت سجل صيغة التحويل: تسجيل الوقت الفعلي = غرينتش 1970-01-01 + (في الوقت الحالي في ثواني - عدد الثواني منذ بدء تشغيل النظام مرة + سجل dmesg الطباعة) ثانية:

    تاريخ -d "1970-01-01 UTC` صدى" $ (تاريخ + ق) - $ (القط / إجراءات / الجهوزية | قطع -f 1 -d '') +12288812.926194 "| قبل الميلاد` ثواني "

    والباقي هو أن نرى لماذا الكثير من الذاكرة، مما ادى الى OOM القاتل.

    الحصول على مهارات جديدة

    RateLimiter

    QPS تريد تحكم أكثر دقة؟ مثل هذا السيناريو، يمكنك استدعاء واجهة، تحتاج إلى مسح الحد الآخر QPS الخاص بك في غضون 400 من كيف يمكنك التحكم؟ يأتي هذا RateLimiter الوقت في اللعب. للحصول على تفاصيل، مكان

    بواسطة التطوري خوارزمية تعليم نموذج النشاط الحيوي في تعلم المشي

    BMW M240i M الأداء الرقم الرسمي 750 طبعة محدودة

    نظرت إلى نهائيات جوائز العالمي للتصميم الداخلي لهذا العام، و 28 في الصين

    وإعلان KIA تشي هوان أو المعلومات ستكون متاحة في أغسطس

    مع موسم المدارس TA، وتدفق "مختلطة" وحرم هو غير قانوني، فإن الجواب هو ......

    وانغ يو كريم الجمال ترخيص الملاك الحية، وتمكنت من اتخاذ اتخاذ بعيدا، وعاد للنظر عصابة جاهلة

    وDeepMind النظر معا كيفية استخراج القيم الإنسانية في منظمة العفو الدولية

    لماذا الصين خاص للسيارة وهذا القدر من السوء Tucao، والمبيعات لا تزال جيدة جدا؟

    أفضل احذية نايك 2017 القائمة! التي التوأم لديك؟

    انفجار يوم السينما مطيع | "دامبو" ديزني شباك التذاكر في السنوات الأخيرة باسم "الأكثر بؤسا"، "البوهيمي رابسودي" سجل شباك التذاكر

    هذه القيمة وتكوين اللون العديد من سيارات الدفع الرباعي، وذلك ببساطة للشباب والطلاب!

    55000 سواروفسكي الكريستال الفسيفساء، هذا الزوج من NIKE الجوية ماكس 97 قدم مسمار "الرصاصة الفضية"!