From ad4bc3e7048f8fd1222d28ea50cc956706226839 Mon Sep 17 00:00:00 2001 From: Evawudonger Date: Fri, 20 Jun 2025 17:57:33 +0800 Subject: [PATCH] =?UTF-8?q?=E2=80=9C=E4=BF=AE=E6=94=B9toc=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/en/server/_toc.yaml | 10 +- docs/en/server/maintenance/syscare/_toc.yaml | 17 - .../server/maintenance/syscare/constraints.md | 37 - .../maintenance/syscare/faqs_and_solutions.md | 19 - .../syscare/figures/syscare_arch.png | Bin 10495 -> 0 bytes .../maintenance/syscare/installing_syscare.md | 51 -- .../syscare/syscare_introduction.md | 22 - .../maintenance/syscare/syscare_user_guide.md | 11 - .../maintenance/syscare/using_syscare.md | 359 --------- .../system_optimzation/atune/_toc.yaml | 19 - .../system_optimzation/atune/a_tune.md | 5 - .../system_optimzation/atune/appendix.md | 19 - .../atune/faqs_and_solutions.md | 52 -- .../atune/figures/picture1.png | Bin 7800 -> 0 bytes .../atune/figures/picture4.png | Bin 15294 -> 0 bytes .../atune/figures/zh-cn_image_0213178479.png | Bin 1607 -> 0 bytes .../atune/figures/zh-cn_image_0213178480.png | Bin 1858 -> 0 bytes .../atune/figures/zh-cn_image_0214540398.png | Bin 29933 -> 0 bytes .../atune/figures/zh-cn_image_0227497000.png | Bin 186566 -> 0 bytes .../atune/figures/zh-cn_image_0227497343.png | Bin 65369 -> 0 bytes .../atune/figures/zh-cn_image_0231122163.png | Bin 46034 -> 0 bytes .../atune/figures/zh-cn_image_0245342444.png | Bin 18536 -> 0 bytes .../atune/getting_to_know_a_tune.md | 63 -- .../atune/installation_and_deployment.md | 509 ------------ .../system_optimzation/atune/native_turbo.md | 54 -- .../public_sys-resources/icon-caution.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-danger.gif | Bin 580 -> 0 bytes .../atune/public_sys-resources/icon-note.gif | Bin 394 -> 0 bytes .../public_sys-resources/icon-notice.gif | Bin 406 -> 0 bytes .../atune/public_sys-resources/icon-tip.gif | Bin 253 -> 0 bytes .../public_sys-resources/icon-warning.gif | Bin 580 -> 0 bytes .../atune/usage_instructions.md | 731 ------------------ docs/en/tools/community_tools/_toc.yaml | 13 + docs/en/tools/maintenance/_toc.yaml | 4 +- docs/zh/server/_toc.yaml | 5 +- docs/zh/server/maintenance/syscare/_toc.yaml | 12 - .../server/maintenance/syscare/constraints.md | 35 - .../maintenance/syscare/faqs_and_solutions.md | 16 - ...3\350\276\221\346\236\266\346\236\204.png" | Bin 10313 -> 0 bytes .../maintenance/syscare/installing_syscare.md | 55 -- .../syscare/syscare_introduction.md | 23 - .../maintenance/syscare/syscare_user_guide.md | 11 - .../maintenance/syscare/using_syscare.md | 308 -------- docs/zh/tools/community_tools/_toc.yaml | 13 + docs/zh/tools/maintenance/_toc.yaml | 4 +- 45 files changed, 44 insertions(+), 2433 deletions(-) delete mode 100644 docs/en/server/maintenance/syscare/_toc.yaml delete mode 100644 docs/en/server/maintenance/syscare/constraints.md delete mode 100644 docs/en/server/maintenance/syscare/faqs_and_solutions.md delete mode 100644 docs/en/server/maintenance/syscare/figures/syscare_arch.png delete mode 100644 docs/en/server/maintenance/syscare/installing_syscare.md delete mode 100644 docs/en/server/maintenance/syscare/syscare_introduction.md delete mode 100644 docs/en/server/maintenance/syscare/syscare_user_guide.md delete mode 100644 docs/en/server/maintenance/syscare/using_syscare.md delete mode 100644 docs/en/server/performance/system_optimzation/atune/_toc.yaml delete mode 100644 docs/en/server/performance/system_optimzation/atune/a_tune.md delete mode 100644 docs/en/server/performance/system_optimzation/atune/appendix.md delete mode 100644 docs/en/server/performance/system_optimzation/atune/faqs_and_solutions.md delete mode 100644 docs/en/server/performance/system_optimzation/atune/figures/picture1.png delete mode 100644 docs/en/server/performance/system_optimzation/atune/figures/picture4.png delete mode 100644 docs/en/server/performance/system_optimzation/atune/figures/zh-cn_image_0213178479.png delete mode 100644 docs/en/server/performance/system_optimzation/atune/figures/zh-cn_image_0213178480.png delete mode 100644 docs/en/server/performance/system_optimzation/atune/figures/zh-cn_image_0214540398.png delete mode 100644 docs/en/server/performance/system_optimzation/atune/figures/zh-cn_image_0227497000.png delete mode 100644 docs/en/server/performance/system_optimzation/atune/figures/zh-cn_image_0227497343.png delete mode 100644 docs/en/server/performance/system_optimzation/atune/figures/zh-cn_image_0231122163.png delete mode 100644 docs/en/server/performance/system_optimzation/atune/figures/zh-cn_image_0245342444.png delete mode 100644 docs/en/server/performance/system_optimzation/atune/getting_to_know_a_tune.md delete mode 100644 docs/en/server/performance/system_optimzation/atune/installation_and_deployment.md delete mode 100644 docs/en/server/performance/system_optimzation/atune/native_turbo.md delete mode 100644 docs/en/server/performance/system_optimzation/atune/public_sys-resources/icon-caution.gif delete mode 100644 docs/en/server/performance/system_optimzation/atune/public_sys-resources/icon-danger.gif delete mode 100644 docs/en/server/performance/system_optimzation/atune/public_sys-resources/icon-note.gif delete mode 100644 docs/en/server/performance/system_optimzation/atune/public_sys-resources/icon-notice.gif delete mode 100644 docs/en/server/performance/system_optimzation/atune/public_sys-resources/icon-tip.gif delete mode 100644 docs/en/server/performance/system_optimzation/atune/public_sys-resources/icon-warning.gif delete mode 100644 docs/en/server/performance/system_optimzation/atune/usage_instructions.md delete mode 100644 docs/zh/server/maintenance/syscare/_toc.yaml delete mode 100644 docs/zh/server/maintenance/syscare/constraints.md delete mode 100644 docs/zh/server/maintenance/syscare/faqs_and_solutions.md delete mode 100644 "docs/zh/server/maintenance/syscare/figures/syscare\351\200\273\350\276\221\346\236\266\346\236\204.png" delete mode 100644 docs/zh/server/maintenance/syscare/installing_syscare.md delete mode 100644 docs/zh/server/maintenance/syscare/syscare_introduction.md delete mode 100644 docs/zh/server/maintenance/syscare/syscare_user_guide.md delete mode 100644 docs/zh/server/maintenance/syscare/using_syscare.md diff --git a/docs/en/server/_toc.yaml b/docs/en/server/_toc.yaml index 9ecb6d55..b6e6b174 100644 --- a/docs/en/server/_toc.yaml +++ b/docs/en/server/_toc.yaml @@ -19,7 +19,9 @@ sections: - href: ./maintenance/gala/_toc.yaml - href: ./maintenance/sysmonitor/_toc.yaml - href: ./maintenance/kernel_live_upgrade/_toc.yaml - - href: ./maintenance/syscare/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/syscare/blob/openEuler-24.03-LTS-SP2/docs/en/_toc.yaml + path: ./syscare - href: ./maintenance/common_skills/_toc.yaml - href: ./maintenance/common_tools/_toc.yaml - href: ./maintenance/troubleshooting/_toc.yaml @@ -55,18 +57,22 @@ sections: sections: - href: upstream: https://gitee.com/openeuler/oeAware-manager/blob/master/docs/en/2403_lts_sp2/_toc.yaml + path: ./performance/tuning_framework/oeaware - label: CPU Optimization sections: - href: ./performance/cpu_optimization/sysboost/_toc.yaml - href: ./performance/cpu_optimization/kae/_toc.yaml - label: System Optimization sections: - - href: ./performance/system_optimzation/atune/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/A-Tune/blob/master/docs/en/24.03_LTS_SP2/_toc.yaml + path: ./performance/system_optimization/atune - label: Application Development sections: - href: ./development/application_dev/_toc.yaml - href: upstream: https://gitee.com/openeuler/compiler-docs/blob/openEuler-24.03-LTS-SP2/docs/en/gcc/_toc.yaml + path: ./compiler - label: High Availability sections: - href: ./high_availability/ha/_toc.yaml diff --git a/docs/en/server/maintenance/syscare/_toc.yaml b/docs/en/server/maintenance/syscare/_toc.yaml deleted file mode 100644 index c1a1b954..00000000 --- a/docs/en/server/maintenance/syscare/_toc.yaml +++ /dev/null @@ -1,17 +0,0 @@ -label: SysCare User Guide -isManual: true -description: Online hot patching -sections: - - label: SysCare User Guide - href: ./syscare_user_guide.md - sections: - - label: SysCare Introduction - href: ./syscare_introduction.md - - label: SysCare Installation - href: ./installing_syscare.md - - label: SysCare Usage - href: ./using_syscare.md - - label: Constraints - href: ./constraints.md - - label: Common Issues and Solutions - href: ./faqs_and_solutions.md diff --git a/docs/en/server/maintenance/syscare/constraints.md b/docs/en/server/maintenance/syscare/constraints.md deleted file mode 100644 index c97ca8e9..00000000 --- a/docs/en/server/maintenance/syscare/constraints.md +++ /dev/null @@ -1,37 +0,0 @@ -# Constraints - -## Version Constraints - -OS version: openEuler openEuler 22.03 LTS SP1 -Architecture: x86 or AArch64 - -## Application Constraints - -Currently, user-mode patches support only Redis and Nginx. - -Note: - -1. Currently, each software needs to be adapted to process the LINE macro. Currently, only Redis and Nginx are adapted. Other software that is not adapted may cause the patch size to be too large. (Parameters will be introduced in the future to support user adaptation.) -2. Each user-mode live patch can contain only one ELF file. To fix multiple bugs, you can pass the patch files of multiple bug fixes to the patch making parameters to make a live patch for multiple bugs. - -## Language Constraints - -Theoretically, patches are compared at the object file level, which is irrelevant to the programming language. Currently, only the C and C++ languages are tested. - -## Others - -- Only 64-bit OSs are supported. -- Only the ELF format can be hot-patched. Interpreted languages are not supported. -- Only GCC and G++ compilers are supported. -- The compiler must support the `-gdwarf`, `-ffunction-sections`, and `-fdata-sections` parameters. -- The debug information must be in the DWARF format. -- Cross compilation is not supported. -- Source files that are in different paths but have the same file name, same global variables, and same functions cannot be recognized. -- Assembly code, including **.S** files and inline assembly code, cannot be modified. -- External symbols (dynamic library dependencies) cannot be added. -- Multiple patches cannot be applied to the same binary file. -- Mixed compilation of C and C++ is not supported. -- C++ exceptions cannot be modified. -- The `-g3` group section compilation option, specific compilation optimization options, and specific GCC plugins are not supported. -- ifunc cannot be added by using `__attribute__((ifunc("foo")))`. -- TLS variables cannot be added by using `__thread int foo`. diff --git a/docs/en/server/maintenance/syscare/faqs_and_solutions.md b/docs/en/server/maintenance/syscare/faqs_and_solutions.md deleted file mode 100644 index 0203440f..00000000 --- a/docs/en/server/maintenance/syscare/faqs_and_solutions.md +++ /dev/null @@ -1,19 +0,0 @@ -# Common Issues and Solutions - -## Issue 1: "alloc upatch module memory failed" - -Possible cause: The SELinux constraint is triggered. - -Solution: Manually add policies according to the error. The policies to be added vary according to the actual situation. For details, see . - -## Issue 2: "patch file error 2" - -Possible cause: The patch cannot be detected. - -Solution: Use another patch. - -## Issue 3: "build project error 11" - -Possible cause: The source package fails to be compiled. - -Solution: Run `rpmbuild -ra *.src.rpm` to check if the source package can be compiled and the compilation dependencies are satisfied. diff --git a/docs/en/server/maintenance/syscare/figures/syscare_arch.png b/docs/en/server/maintenance/syscare/figures/syscare_arch.png deleted file mode 100644 index e8c931ad3ba6743224ffa133808f8b66239ce486..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10495 zcmch7cT`hPyKb?Q8nuzL;lDS5)%Mgx}I-L_K+LAWw!` z|8mv(3vK#4cXjX2KRzi`#XHwr_ph#saX?M~_-5+#`s^z`#iKtaGN;pv-OBq)>7ztB zjzPlJYnbMINwM@D$^9&^)l8a8pex_KiiKb*MkxnfBJ@`o3U|0*A^3yso`##3K!3t% zmIXl|i@I#-pba^8D#a&3_ya+_EC{4BM%iNu0=0jOzkV6?rd?Wc`w|G$vo_v#=0B$Z z3fo5H5FLRR(9v!11s*_^`-~TmfUex?6TT?#xhsc}T)ez}E=qn;UT03QyeOai_(XpB z;^k7f4Z}rw`!CM_auaL68g2re*V{|Y9*4^km(eHaa~d%6?APzPir|yeVeh5EsB}3o znSpG4H}f_?~*;=R4blOGM4jxYfR9*1g^%>-lDf274;3_xN_WgjjMKbH?_ z@EP3=u!g#8?x0RWy*}diY*B}+QDj-wEaM$wEG%=AgL2!OyRDqy(IF?j+ML4m``17g z*Vh3*9ep3wH_wPzo>{3s*oC1H6Q8cDX{`_N4sx5L2|1|3(36nuki6lb$&3?q<2D3$ zXRZHoEd{DA_|?As-Pnx*-q1T{XhQwMB$F4882AMf(kj=vcL{Wx`NEUtl4Vl?p+f5j z+&)&~FE2B+xKJwb6fKuSQEY*lZY;+Ta3KSmF|q!BnvNUE0v*IaV`I`TzIz~0M>haj z`!8c(m7BAZu?4-8Zd{Z0)~%J4YjR_;oP(yW;1B+5G-pme`U&2zai*x8y1{jmjML4^ z9El-^pr=C3@42g}!)A2W=lDhz;#|cY89WK-4KW^=vw>W+ z*+~cTV{q{)^ReEngIilIa4cj!y`N}qko;OUrH+U=yd~)WpdcWmlp9WekS;(a``sQl zR7CiyABTtHe0}um=lz2y&-2=5{X@;q6`=iGp$WV}nFl8uVi40a6b#*1ZK4UxPY$e$ z`N%8`{dlJ_Wp&uEMX2vJb9QeVQC^zB=4kJwcQb?6)Y##i4g@-lwj2W>zrjThdHz9e zta7#XL^#A;34Dt#n`j$!9Y=G9DKi24Gq3;c}y)fDBP=@O)1pZmEyrj^IX2qv`xY3acCOxspms z-k5ZVe$WCe)Z7R>8V~|c=_p)-F14(FruVT7dchd}?!EKU+eFDNjwuE)77r8QDBM0A)g_&?bGH}ir>l080*t1p^=A^Zz)X3{HdIoE z5aM4uiJ32+W5I(2$OAVJ$SBvI0rW%8UU2ga1w|lb%4=ifFd<*EhTBH4lZ#tf$B)a` zruVxv9D_ZONGy8RYonu%GQM?W#eMM@M-kLgpBIN$ti6&DgoIf8dhS~HBq#I)ED zzje*0)gNrq%?4*LgymXAaKUUV(=Hdb+OjgJaERHX9_}Z7>;?hR^ z3drvcXey@lZ~d&fuX>)du^x|;Ua0lY89U8L86>?U9b(DI1B8%8>LXA)aVQfVxCek+ z_96kNt|UzySuk%!4!Q%*Dt8_$QcLh%RY1w$Ls^?Ck`5Wz1tt^LUtreUWJiZq>3b;G z1lMD_Qy%SzWO%L@{cJzrLhRX8mfXVl-m~TA@}8F) z7=mW{0u~}Ee=?weBBmWIxwScH2;!kW0U`SJ5?q6(BSy=f^7g@BYVVpQtRpJMo-hZN zhfEUBkCjd)*I>bnpf`PgCtEk>mD&?sEcnNeJ-2M(vCa3x?J`0@$JE2g!@RMD=LIhS z=g-0@&Mfz977Si96$w~Rt?Dy{Iimg5jgv|d_One*MR<7d*n!5ug1_EQ%SpT|hI*;i zt5&Kx@TprxYawD-ykZ|%)l5dk$U%SZb6A?HzHSw-M9A*afF(a!!%W^IR;wg+n!0aq z6b(xReBol5LoetrIzb7}*x%^zXL63~Nl2K-T-UBcaqI6Av~Rwo>kCBr&J?ciMGn?)J^M zD1E|cy@1^&uqJq3WVh4hfhhkO6KV&2CjA|sM=eJVYc$p{a}_P+`;}a=cg$)il3Lxk zqT$aAcDA~XA6ri!P6i01xb9^(`Yk0uA~>uSHxF;@UgWVLn7+Z-oUK4cL=(iS{7&p% zeFZka>cC0uVhtP&jAE<<)=33k_*_Jr+$Z?Ka)Ub?NGA;?wJA{?J{d$ z4X0q*NeJpI=*?)W3?e;T^exKI(mYrw$KgKO<9ag4i?4yyWB(7f)Nqd1Bpz;g-08*) zai1g!bYQ3Vj8ERLjVz_V4?teg001~!(p&yL&f13Qd55XdNC1e$g7G}oe`+ms5b6Wz zIL_XE)haTBMVjDoOQ%Xb&10}w6ej5SX#OWU_?&xxXAz9*M^S>FP+w3iIU`?Fwvg9` zH@&bSlfvbpleefXOD%bj-miBRb|6D06NC(U7jUz{VcRi0fc>G$&C0E_;f2jp-&G)v zhsD#WEmg?4DrdvYnx&fq4V}xU2GGP4`zXsHfe#71Fu%cE>~xODHVG(|bKn65=ufd2 zy$^OuK>&>&58?zbKo7OD0jiTD*jlh+BjJ2BwXi#%QecQWjS?4=5o&?s<(dmnmD`)+ zSW_^vElOIVJhWRufcUcoAMky3HxrF8W)g_C*Rx-H=6@`aQuiz23Z}o!d&@L*FJ>ie za%LrG10i8Pahj$*_SXCLxPgCPCb;Q@WsU})bo8wf-bmiG*F zTbM>f-M>VN?LqWL`vuct3RAfZde@Cay7%7)mPCuP3odn=K}i}QQFHQ}h$foiiC)r9AVP7D0R*BkqrG%5l5`c@I(tf{W{!4)~PDOyIsQ7W|n zQSB-q0gVqCjIGZ$L;*=4Ff{wWpV0n`6LbGfza7BPld;`~eo%D(KWQar7Bdv+odb_5 zV2f?O{dC`)n>9Uzn6vC<{ZJ)0NbZ8DpS}lJ!EKo>c3y_}M0>(}kt4Gn1SRMV=LJT> z)OjzzF=q#Rd&?7Ug4$CravAXakMQ$<4d=g3@&EHpcmV|diM>XSEb8^ouMs{fa?DV} zi;*>)oF5(eo^6a5Gc5~VpXFf8zMc1S9gsU0f+cWgef^`1^Ce+*f6q^V)&Vrnn@j-V z5peb+l5t*IGC&JxWL_Q*XCN)g0QZP6UgTro`QOz!|9KGpC)L*fiWM3%z?4rfxNx7B z;Yepl*0coiT&@?G-8ZBTPzAW1?1gy-=+lq8eNQtrX|0$|IeNIsL}KAo%QPziDqGzD zkg^SdJH$+1yYsVs}=M7y&i5#kyzK;%b(W@uEQgqJjtW{ zdi3Gm&?tvh;IrGy>r^7L_kr48W9M-pY)L)3w=A4ad1#rSR5Db{Plz8qESjj6+r4Xh z|DtgK!tuXH&f2f{x${2GPfOD{|4J8EocKLShegY=lzBnCjlP{@3WTP01>fZ6!7nMo(xdp( zODE2gUbbfHK9reaCjk|;_r+s*6Z9Gz*mscSWm?-!32Bi9k)orC*>VGX;w5Kt6?H@w za&upW?ye+{luLgUO|KrQ^3v(oyo`!ces=s5v@GD@@ScQxjCO)oc9ZcIKT=CalBM*l zIhP`ApX3kACZB~)W`w(uEj5s)LB~9d;ve*<5=+idp7t3~TF?=-51p{OZjzQ5MTC1f z6%z>LJq+!uqMd5=4_8~U+^4WZlxYbT`pPWGl)m6YKgv@)~ zy;(_41jg(SK5(?v<6Vw_T9aH#50t^}uUpp5)#_4jcmWTPE9n;MOhkqXQZKEZw7p<* zK&tR2IbqkLVOY^?LFBbTo4GNpoGIed=`vNi&C~vuimKV@dpfZJY(@{gY0FuX{2$?` zP|Vi-5Lm!WY^;03%v!Sp0x`M2_j|@L8kMPscCA?ZrEtl-J|Dt+_&+}aM zX`0PMP;$Lx=D3r_u0s#cbIlzngrBZ5rO)FYWZ0IMt}-Y*mO_`8lP*iekzlERmBgQB zy@_l+d~_-;!kvB5lHCMXLWGG|%||yFmzGS@2&hOEcNekXXJv8bt(Fl2lf4ZxBOH~N zbn1PI^?rX%Kq=sNJS-bpTA^ZhWVlnAbt_(5DdVSDnDe1lTL>7|3^^zgBmICIrm<@& zYJymei^#0K+YT6K)1g}RJzPqrg2-E*srl`9LEoIP+qEu!1r}CTK69cOyJM0w#ul>H zni$Dv9ozFgqs=Bx8i4-bAS zrgz<6j*p|-N3!P-b0@LScd`G3{Q-A{#;&QT$spt#Gow#;Qv;S;z}&?|>wbm%!}1I} z=ZT*x9|#(VR~Sc5Q$3Gvr$Ck*<7o#;a*lW*K4*;HQmS6$F~I%T504G^hYSEj`u2F9Q0MknSTM;dhu}mdZR)&NRN>7L- z>TQ3EzZvtFp0vn%z*f=g*_Gglxw>lD zwgn~`U(*`V*H@+;_?cY4oNGl3>2rm{ao(gl>zz?$pJf!6dM6;_F|81ZN@xB-5<0UM zE7=wQb)Rqsl`RPRoguxvd5i2~;0Zf#^@Eh3YD-@56}ELr77O;@L4sYPQR9DNi#SO7 zn%H83IywG!Yc6;qCQRPIbH~F&yU7v(-bNz}{zOhWp`n)jXWCdwgbZ#(mZB`Mi`IBg z*^F~|Df+X!34>_;u_z~RG7Rxvp*Ltl*&0FfyrEt^ZZtnDxxhetXVz;L9+P4O_>lJj zcc})Wsi;c^c@I|eQF>iil_K?b=uzxTgppQhqBb8LI{G-_6|@Xj9ebD;`+A9v&NPf) zs^w3MyHqJ_XRH<-!g*3F~uE8ZY3^VcbV7< z8W(dlzIj;kR5+t@ZGt*0kTE?Ufze!Ut4GFGj}u;%uTA9F*L5S!2!{&l8ZWavJwZ7l z4Dlb?g-k}13Ke=^eo&m$(vT3}e$-aAD255eJbmfQsLn3MdX_z|ns-jCu2q-|)6%P! zz4Pw(xyfv6mv}VjC(82RZ4(&-ne}>zftLEp!DZ_M1+ILDO+OZY+4<^)`AVBF>3!sl z(cn7G{DjO}Fr#0Y9eXlSn!Z&Pa617oWUKEvE|XPW ztgIy0#;LUX^Xb!a7~UwJkFq(a^&0sdAG(o3Wg|Ch3&@NPznanl2NT-wi-#`4d=Wv~;ru#ui*3X+fUl8|d}SVlcB! z)@&5E4>b?kS5AJUdjwz|-GNAyY@^XCKC-(6n{ruR2f}aw-ay{Ao&*_-B8`(lpE@Cg z4{YwvNj?sjoHld9ZwB8aHGSLC+dSv6Gp_<6R@G{g3nh2*L`mEL=zD7p{r?l1L8F4OfJ z^?z!B3pi$|_oUD~Iz|O*;216Vp-5ebWTr<=?9D@6aw(Is$`fV1-l{W#8*yZ^dLn1W z?CMf_HMnm3Ab8@pPyKv9GSFhlM`&w!U;2j6_Ya(1*qk~YH3^q~(K-XYuh{Xy6=kwn zcVi$fmoWs13NI()99Y6APA@9!)=SLJ%OM}jw@bP3OVn!4>Y|W3tRhm z9YYa_VJsu<-&yf083q|Q<}*RU#55*6Iz*b?nqS?~(rw(DqJBEW)h4ZWG^Zzbz4I|m zfb@L#nS;C|=I*mYaoG)zV59l|lf6@oCt0E*eN}Y6D&1aOm=1ki)ozT2qBX9hp#o~l zv|!vP&yr&SmDk1UbE;myH`6HS@W6u(|am2UcQ_XEaHcU3{HrVff}Hg*MCby zl=0BKkn}HL_IUM;hY@1HG03ND97HmXGi@Td~sPuU1Iw!ZMjp*Xx5G4_QWA!f2g^ z&ZMC)38yy#r6%=q*6Qd8G5y!W)p~0blJ*_Bn9Z%emUu@R3ZxT#T*=xrk1hkjMZT1j zQL|0L6izj@{H6LlrCQvVz0$MsuO?fw^dnTD_^P{+N<^V}Kc~is$J2yeS-0J)ia@E+ z(=3(92~1g+_@eQ{@-9!ajUJ>1l>+;Xm3~{gd9e+UiI`;^;g#f244SG3=)M2=5MRSe zIGjJm`DJe)gogo)c5^EA(=74!kARP`Tn z>F5fM{PKco>4|WpP88$%EG&%_5Ks4bl*2^m22{dzMw0c#T{5~QMmIx&(>M@FJI;nd zyCXf;jE{3!H7Qe!Ny=_ErT{12cyY>j+kv~+6l8I)lb>&ujW7FQ$(Km7z7m3zOZS;OjVr9+u2k0QipZ7OhpjJYMz|7(QhW?t%!DX`k5B%Lh(&Kuix<^$FI{vtLiYcE zn5nKSY6446R9(?wfj-?V14y>rBQddj9Yea$HgARwN*>oIj-x-Kar8) z{L6w@0a>=)D}20r@&$GES~vq`OXohHmaqz43bgK~tzGPr; z_cOBC(-UkmoN~s*O;r-|I>om0LkS-}G+V)uZnQc|p`GF>p%y&(DvDND_Fg3bqkF!b!PIN?}oVH?{GMk zD~&818f%hdar9(_WHGQ6Mrejf+t1A@0P2Qs2!EL`>78g_i60gDYs^A_M%3`c;l^}6 zSz5uDU2*#LE=Zx>7gaklPgk?W1?#C6E!ABINVDp404<#^86#IdYDf6b)K0*HLE*22VUW?l}Wrd_?TBB)+NH!#o zCn;`39m8;U3@ZAm=9OG7%kqg21Z`w${Tzbsnb51B43NR;Ym%JZ>ycK9rX2Xk;jwy+ zkpA=DyqDoJxCLNmt?=S5!1`YY-${EH>rVW5yidPxrXUxOSC9H9^#^i7_1c){kc)xt zr>aQwK#S(- z*5keRvG7`W+bYIxrW0mR2wDyYp0;H24^l;S564OKP@8b z6oYnKKT4XUblFAwNzbXxz4mbv2}AmiU?FX|iMo3|N)Zg)Jxar@+8yhR@YT9kOxLJX zQgjD;XvISq^d1`P$i5=jTRx8^RXTH#F4=<{5XgILn$lvu>)Pa7ODZ77q1HyctGYt2 zD?`ZT(pNqN4Q#3Ivtuj0>MCqFnKT|o>Oav{eb<&uBC)jMq*pxo#^*uo-GOux4i&1x zeg)XHAQI3p3j5GZ^vu1=QP+!snGSCF7ile4JA<{v>wPTCX{e8%D`mZ0gjQ$j$tRHY zC3k%wJ5U{b(jN-GdQlXnfs5Y-6&X+KqZ*O6T8V zb@PufKl%k%Xii9;?Tqo>Lv4fAUOiUNT4{ln)}85u84yqP19TNxju)zj^mWXkyTDyfZr z3Im?{jSWLqd0Ap)*)fTceEip&O*IF|J3h}xgZ;zbwnp#Y#riB}$?04ccBpgC%FFI7 zVDFKB9vyI>5$Pz+Y^97jQFsiUuTW=?sGC|a(|O43dX#mGji2PX@Q`yIJ}BH4Jh1IH z_fh0+xSTVCTna^pLi1E<$E0>U57lxOdk^Z$kF2HHl**G7xiUzAZNTnX2gk5a+}6#+ z;kxv61ivn1v6TDZfrXptQCnik7bxRkItI)@Aw=Wl-|pD)JH08w%npfn1lK%NI2h|sfQ`eeXaS9 z-umzl(rOIW2bSw7C0ktu{`>$YhXGq>L%j9oqi#(^nF*gON-VY2(V3o5Dc00f&!A!q zmj4e}n$xpwrj0C((n>}zQ`LiUA8mpCASe1K_edY zX`DQ@D*F9`4-qMq_vw|W(PFUTs6$P%i(=xp6ck#TIl&_tW;!3oOC7=UCG03dF{!k^ zOYn08j-{Su&N#XW##(eS|AoFDjZiHQ7Cm6pdsyx%d!K+_V-}^l$itF3dh9<>6F2~h zv{Dl}ld2S_0AR{jk@PdqLp|11F;RI$L{1 zi)8racwjnE-RqdmrOnFhOD9jFHao{LRR#$a0{C=U) zzz>7T{1dH@ms68iK}}D=SJfq~=2(EsY2;~=Ps7P(_nh9kh?zY|_7%NlQCCv@WM__KBO7C8;4LzBRd#e0-ew z+gnEp)ZaBX2$G<{Sbwrq*RKuy{$V5*v{r_6{Rl>(j0Ywfz+U54RjTe2)~}cTaBT8k zoFBYMeQ}pT*e>r%5tGO*z&_?w*Nf9v;JNJk_toq@3NKnw!nwVrad=Ehy!_QVG8`&;hzlz2|1n-FWW|uBG!NP RPhWJeqM#uUe`fLS-v9%g_}~Bl diff --git a/docs/en/server/maintenance/syscare/installing_syscare.md b/docs/en/server/maintenance/syscare/installing_syscare.md deleted file mode 100644 index 65ea6ed2..00000000 --- a/docs/en/server/maintenance/syscare/installing_syscare.md +++ /dev/null @@ -1,51 +0,0 @@ -# Installing SysCare - -This chapter describes how to install SysCare on openEuler. - -## Installing SysCare Core Components - -### Minimum Hardware Requirements - -* 2 CPUs (x86_64 or AArch64) -* 4 GB memory -* 100 GB drive - -### Prerequisites - -1. openEuler 24.03 LTS SP1 has been installed. - -### Installing from Source - -Clone the SysCare source code and then compile and install SysCare. - -Before compilation, install dependencies: - -```shell -dnf install cmake make rust cargo kernel-devel elfutils-libelf-devel llvm clang bpftool libbpf libbpf-devel libbpf-static -``` - -Compile and install SysCare: - -```shell -git clone https://gitee.com/openeuler/syscare.git -cd syscare -mkdir build -cd build -cmake -DCMAKE_INSTALL_PREFIX=/usr -DKERNEL_VERSION=$(uname -r) .. -make -make install -``` - -### Installing SysCare from a Repository - -If the repository source contains SysCare packages, you can use the `dnf` or `yum` command to download and install them. - -```shell -dnf/yum install syscare syscare-kmod syscare-build syscare-build-ebpf -``` - -### Uninstalling SysCare - -```shell -dnf/yum erase syscare syscare-kmod syscare-build syscare-build-ebpf -``` diff --git a/docs/en/server/maintenance/syscare/syscare_introduction.md b/docs/en/server/maintenance/syscare/syscare_introduction.md deleted file mode 100644 index 17c05d13..00000000 --- a/docs/en/server/maintenance/syscare/syscare_introduction.md +++ /dev/null @@ -1,22 +0,0 @@ -# Introduction to SysCare - -## Overview - -SysCare is an online live patching tool that automatically fixes bugs and vulnerabilities in OS components, such as kernels, user-mode services, and dynamic libraries. - -![img](./figures/syscare_arch.png) - -## SysCare Functions - -SysCare supports live patching for kernels and user-mode services: - -1. One-click creation - SysCare is a unified environment for both kernel- and user-mode live patches that ignores differences between patches, ensuring they can be created with just one click. -2. Patch lifecycle operations - SysCare provides a unified patch management interface for users to install, activate, uninstall, and query patches. - -## SysCare Technologies - -1. Unified patches: SysCare masks differences in detail when creating patches, providing a unified management tool to improve O&M efficiency. -2. User-mode live patching: SysCare supports live patching of multi-process and multi-thread services in user mode, which takes effect when a process or thread is started or restarted. -3. Lazy mechanism: SysCare fixes the ptrace defect (all kernel calls are ended) and improves the fix success rate. diff --git a/docs/en/server/maintenance/syscare/syscare_user_guide.md b/docs/en/server/maintenance/syscare/syscare_user_guide.md deleted file mode 100644 index f16dbf17..00000000 --- a/docs/en/server/maintenance/syscare/syscare_user_guide.md +++ /dev/null @@ -1,11 +0,0 @@ -# SysCare User Guide - -This document describes how to install and use SysCare on openEuler. - -## Intended Audience - -This document is intended for openEuler users who need to use hot patches. Users must: - -* Know basic Linux operations. -* Understand core software compilation concepts. -* Have working knowledge of RPM packages and their build processes. diff --git a/docs/en/server/maintenance/syscare/using_syscare.md b/docs/en/server/maintenance/syscare/using_syscare.md deleted file mode 100644 index 3fe274a1..00000000 --- a/docs/en/server/maintenance/syscare/using_syscare.md +++ /dev/null @@ -1,359 +0,0 @@ -# Using SysCare - -This chapter describes how to use SysCare on openEuler. - -## Prerequisites - -openEuler 24.03 LTS SP1 has been installed. - -## SysCare Usage - -This chapter describes how to use SysCare, covering both hot patch creation and management. - -### Hot Patch Creation - -Users can create hot patches using the `sycare build` command. This command is a pure CLI tool that generates hot patch packages from RPM packages. The hot patch packages are packaged and maintained as RPM packages and support the creation of both kernel and user-space hot patches. - -#### Hot Patch Creation Process - -1. Prepare the source RPM package and the debuginfo RPM package for the target software. - - Example: - - ```shell - yumdownloader kernel --source --debuginfo - ``` - -2. Ensure that the necessary compilation dependencies for the corresponding software are met. - - Example: - - ```shell - dnf install make gcc bison flex openssl-devel dwarves python3-devel elfutils-libelf-devel - ``` - -3. Execute the `syscare build` command to build the hot patch. - - Example: - - ```shell - syscare build \ - --patch_name HP001 \ - --source kernel-5.10.0-60.66.0.91.oe2203.src.rpm \ - --debuginfo kernel-debuginfo-5.10.0-60.66.0.91.oe2203.x86_64.rpm \ - --output output \ - --patch 001-kernel-patch-test.patch - ``` - - During the hot patch creation process, a temporary folder starting with `syscare-build` will be created in the directory specified by the `--workdir` parameter (defaulting to the current directory). This folder will store temporary files and compilation logs. - - Example: - - ```shell - dev@openeuler-dev:[~]$ ls -l syscare-build.111602/ - total 100 - -rw-r--r--. 1 dev dev 92303 Nov 12 00:00 build.log - drwxr-xr-x. 6 dev dev 4096 Nov 12 00:00 package - drwxr-xr-x. 4 dev dev 4096 Nov 12 00:00 patch - ``` - - The compilation log, named `build.log`, will be generated within the temporary folder. - - ```shell - dev@openeuler-dev:[~]$ cat syscare-build.111602/build.log | less - ``` - - If the patch is successfully created and the `--skip-compiler-check` parameter is not used, the temporary folder will be automatically removed. - -4. Check the build results. - - Example: - - ```shell - dev@openeuler-dev:[~]$ ls -l - total 189680 - -rw-r--r--. 1 dev dev 194218767 Nov 12 00:00 kernel-5.10.0-60.91.0.115.oe2203-HP001-1-1.x86_64.src.rpm - -rw-r--r--. 1 dev dev 10937 Nov 12 00:00 patch-kernel-5.10.0-60.91.0.115.oe2203-HP001-1-1.x86_64.rpm - ``` - - Here: - - - `patch-kernel-5.10.0-60.91.0.115.oe2203-HP001-1-1.x86_64.rpm` is the patch package. - - `kernel-5.10.0-60.91.0.115.oe2203-HP001-1-1.x86_64.src.rpm` is the source RPM package. - -#### Hot Patch Creation Tool - -```shell -USAGE: - syscare build [OPTIONS] --patch_name --source --debuginfo ... --patch ... - -OPTIONS: - -n, --patch_name Patch name - --patch_arch Patch architecture [default: x86_64] - --patch_version Patch version [default: 1] - --patch_release Patch release [default: 1] - --patch_description Patch description [default: (none)] - -s, --source Source package - -d, --debuginfo ... Debuginfo package(s) - --workdir Working directory [default: .] - -o, --output Output directory [default: .] - -j, --jobs Parllel build jobs [default: 96] - --skip_compiler_check Skip compiler version check (not recommended) - --skip_cleanup Skip post-build cleanup - -v, --verbose Provide more detailed info - -p, --patch ... Patch file(s) - -h, --help Prints help information - -V, --version Prints version information -``` - -| Name | Description | Type | Notes | -| ----------------------------------------- | ------------------------------------------------------ | ------ | ------------------------------------------------------------------------------ | -| -n, --patch_name `` | Patch name | String | Required parameter; must comply with RPM naming conventions. | -| --patch_arch `` | Patch architecture | String | Defaults to the current architecture; must comply with RPM naming conventions. | -| --patch_version `` | Patch version number | String | Default value is 1; must comply with RPM naming conventions. | -| --patch_release `` | Patch release | Number | Default value is 1; must comply with RPM naming conventions. | -| --patch_description `` | Patch description | String | Defaults to (none). | -| -s, --source `` | Path to the target software's src.rpm source package. | String | Required parameter; must be a valid path. | -| -d, --debuginfo `...` | Path(s) to the target software's debuginfo package(s). | String | Required parameter; multiple can be specified; must be a valid path. | -| --workdir `` | Path to the temporary working directory. | String | Defaults to the current execution directory; must be a valid path. | -| -o, --output `` | Output folder for the generated patch. | String | Defaults to the current execution directory; must be a valid path. | -| -j, --jobs `` | Number of parallel compilation threads. | Number | Defaults to the number of CPU threads. | -| --skip-compiler-check | Skip the compiler version check (not recommended). | Flag | - | -| --skip-cleanup | Skip the cleanup of temporary files after the build. | Flag | - | -| -v, --verbose | Print detailed information. | Flag | - | -| -p, --patch `...` | Path(s) to the patch file(s). | String | Required parameter; multiple can be specified; must be a valid path. | -| -h, --help | Print help information. | Flag | - | -| -V, --version | Print version information. | Flag | - | -| | | | | - -Example: - -```shell -syscare build \ - --patch_name \"HP001\" \\ - --patch_description \"CVE-2021-32675 - When parsing an incoming Redis Standard Protocol (RESP) request, Redis allocates memory according to user-specified values which determine the number of elements (in the multi-bulk header) and size of each element (in the bulk header). An attacker delivering specially crafted requests over multiple connections can cause the server to allocate significant amount of memory. Because the same parsing mechanism is used to handle authentication requests, this vulnerability can also be exploited by unauthenticated users.\" \\ - --source ./redis-6.2.5-1.src.rpm \\ - --debuginfo ./redis-debuginfo-6.2.5-1.x86_64.rpm \\ - --output ./output \\ - --patch ./0001-Prevent-unauthenticated-client-from-easily-consuming.patch -``` - -#### Hot Patch Package Naming Convention - -- Hot patch package: `patch----..rpm` -- Hot patch source package: `---..src.rpm` - -#### Package Contents - -- Hot patch package: Contains SysCare hot patch binaries and metadata for patch installation -- Hot patch source package: Includes target software source code and additional patch files for creating new hot patch versions - -#### Troubleshooting - -If errors occur during hot patch creation, check the compilation log named `build.log` in the working directory. - -Example: - -```shell -Building patch, this may take a while -- Preparing build requirements -- Building patch -Error: UserPatchBuilder: Failed to build patch - -Caused by: - Process "/usr/libexec/syscare/upatch-build" exited unsuccessfully, exit_code=253 -For more information, please check "/home/dev/syscare-build.345549/build.log" -``` - -### Hot Patch Package Management - -Installing or uninstalling hot patches requires specifying the corresponding RPM package name, denoted here as `$patch_package`. - -1. Installing a hot patch package - - ```shell - dnf install $patch_package.rpm - ``` - - After installation, hot patch files are stored in: - /usr/lib/syscare/patches - -2. Uninstalling a hot patch package - - ```shell - dnf remove $patch_package - ``` - - Note: Hot patches in `ACTIVED` state or higher will be automatically uninstalled. - -### Hot Patch Management - -The `syscare` command is used to manage hot patches. - -To operate on a specific hot patch, users must provide a search string (denoted as `$patch_identifier`). - -Search follows these rules: `/`. The `/` prefix can be omitted if the patch name is unique. UUID can also be used for management. - -- Target package name: Name of the software package to be patched -- Patch name: Name of the hot patch - -#### Patch Metadata - -Patch metadata includes the following fields: - -| Field | Description | -| ----------- | ------------------------- | -| uuid | Unique patch identifier | -| name | Patch name | -| version | Version number | -| release | Release number | -| arch | Architecture | -| type | Patch type | -| target | Target software name | -| entities | Executable files affected | -| digest | Cryptographic fingerprint | -| license | Software license | -| description | Patch details | -| patch | List of patch files | - -### Hot Patch Package Management - -Installing or uninstalling hot patches requires specifying the corresponding RPM package name, denoted here as `$patch_package`. - -1. Installing a hot patch package - - ```shell - dnf install $patch_package.rpm - ``` - - After installation, hot patch files are stored in: - /usr/lib/syscare/patches - -2. Uninstalling a hot patch package - - ```shell - dnf remove $patch_package - ``` - - Note: Hot patches in `ACTIVED` state or higher will be automatically uninstalled. - -### Hot Patch Management - -The `syscare` command is used to manage hot patches. - -To operate on a specific hot patch, users must provide a search string (denoted as `$patch_identifier`). - -Search follows these rules: `/`. The `/` prefix can be omitted if the patch name is unique. UUID can also be used for management. - -- Target package name: Name of the software package to be patched -- Patch name: Name of the hot patch - -#### Patch Metadata - -Patch metadata includes the following fields: - -| Field | Description | -| ----------- | ------------------------- | -| uuid | Unique patch identifier | -| name | Patch name | -| version | Version number | -| release | Release number | -| arch | Architecture | -| type | Patch type | -| target | Target software name | -| entities | Executable files affected | -| digest | Cryptographic fingerprint | -| license | Software license | -| description | Patch details | -| patch | List of patch files | - -Example: - -```shell -sudo syscare info redis-6.2.5-1/HP002-1-1 -uuid: 980fa0d0-e753-447c-8494-01de595f35d0 -name: HP002 -version: 1 -release: 1 -arch: x86_64 -type: UserPatch -target: redis-6.2.5-1 -target_elf: redis-server, redis-benchmark, redis-cli -license: BSD and MIT -description: CVE-2021-32675 - When parsing an incoming Redis Standard Protocol (RESP) request, Redis allocates memory according to user-specified values which determine the number of elements (in the multi-bulk header) and size of each element (in the bulk header). An attacker delivering specially crafted requests over multiple connections can cause the server to allocate significant amount of memory. Because the same parsing mechanism is used to handle authentication requests, this vulnerability can also be exploited by unauthenticated users. -patch: -0001-Prevent-unauthenticated-client-from-easily-consuming.patch -``` - -#### Hot Patch States - -SysCare categorizes the hot patch lifecycle into these states: - -- Unloaded: `NOT-APPLIED` -- Inactive: `DEACTIVED` -- Active: `ACTIVED` -- Accepted: `ACCEPTED` - -#### Patch Information Queries - -1. View basic patch information: - - ```shell - syscare info $patch_identifier - ``` - -2. Check patch status: - - ```shell - syscare status $patch_identifier - ``` - -3. List all patch statuses: - - ```shell - syscare list - ``` - -#### Hot Patch State Management - -1. Load a patch: - - ```shell - syscare apply $patch_identifier - ``` - -2. Unload a patch: - - ```shell - syscare remove $patch_identifier - ``` - -3. Activate a patch: - - ```shell - syscare active $patch_identifier - ``` - -4. Deactivate a patch: - - ```shell - syscare deactive $patch_identifier - ``` - -5. Accept a patch: - - ```shell - syscare accept $patch_identifier - ``` - -6. Save all patch states: - - ```shell - syscare save - ``` - -7. Restore all patch states: - - ```shell - syscare restore - ``` diff --git a/docs/en/server/performance/system_optimzation/atune/_toc.yaml b/docs/en/server/performance/system_optimzation/atune/_toc.yaml deleted file mode 100644 index 571a4d42..00000000 --- a/docs/en/server/performance/system_optimzation/atune/_toc.yaml +++ /dev/null @@ -1,19 +0,0 @@ -label: A-Tune User Guide -isManual: true -description: Optimized openEuler performance through AI-powered, automated tuning -sections: - - label: A-Tune User Guide - href: ./a_tune.md - sections: - - label: Getting to Know A-Tune - href: ./getting_to_know_a_tune.md - - label: Installation and Deployment - href: ./installation_and_deployment.md - - label: Usage Instructions - href: ./usage_instructions.md - - label: Native-Turbo - href: ./native_turbo.md - - label: Appendix - href: ./appendix.md - - label: Common Issues and Solutions - href: ./faqs_and_solutions.md diff --git a/docs/en/server/performance/system_optimzation/atune/a_tune.md b/docs/en/server/performance/system_optimzation/atune/a_tune.md deleted file mode 100644 index b481797f..00000000 --- a/docs/en/server/performance/system_optimzation/atune/a_tune.md +++ /dev/null @@ -1,5 +0,0 @@ -# A-Tune User Guide - -This document describes how to install and use A-Tune, which is a performance self-optimization software for openEuler. - -This document is intended for developers, open-source enthusiasts, and partners who use the openEuler system and want to know and use A-Tune. You need to have basic knowledge of the Linux OS. diff --git a/docs/en/server/performance/system_optimzation/atune/appendix.md b/docs/en/server/performance/system_optimzation/atune/appendix.md deleted file mode 100644 index 2561f9c6..00000000 --- a/docs/en/server/performance/system_optimzation/atune/appendix.md +++ /dev/null @@ -1,19 +0,0 @@ -# Appendix - -## Acronyms and Abbreviations - -**Table 1** Terminology - - - - - - - - - -

Term

-

Description

-

profile

-

Set of optimization items and optimal parameter configuration.

-
diff --git a/docs/en/server/performance/system_optimzation/atune/faqs_and_solutions.md b/docs/en/server/performance/system_optimzation/atune/faqs_and_solutions.md deleted file mode 100644 index 38a9d934..00000000 --- a/docs/en/server/performance/system_optimzation/atune/faqs_and_solutions.md +++ /dev/null @@ -1,52 +0,0 @@ -# Common Issues and Solutions - -## Issue 1: An error occurs when the **train** command is used to train a model, and the message "training data failed" is displayed - -Cause: Only one type of data is collected by using the **collection**command. - -Solution: Collect data of at least two data types for training. - -## Issue 2: atune-adm cannot connect to the atuned service - -Possible cause: - -1. Check whether the atuned service is started and check the atuned listening address. - - ```shell - systemctl status atuned - netstat -nap | grep atuned - ``` - -2. The firewall blocks the atuned listening port. -3. The HTTP proxy is configured in the system. As a result, the connection fails. - -Solution: - -1. If the atuned service is not started, run the following command to start the service: - - ```shell - systemctl start atuned - ``` - -2. Run the following command on the atuned and atune-adm servers to allow the listening port to receive network packets. In the command, **60001** is the listening port number of the atuned server. - - ```shell - iptables -I INPUT -p tcp --dport 60001 -j ACCEPT - iptables -I INPUT -p tcp --sport 60001 -j ACCEPT - ``` - -3. Run the following command to delete the HTTP proxy or disable the HTTP proxy for the listening IP address without affecting services: - - ```shell - no_proxy=$no_proxy, Listening_IP_address - ``` - -## Issue 3: The atuned service cannot be started, and the message "Job for atuned.service failed because a timeout was exceeded." is displayed - -Cause: The hosts file does not contain the localhost information. - -Solution: Add localhost to the line starting with **127.0.0.1** in the **/etc/hosts** file. - -```text -127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 -``` diff --git a/docs/en/server/performance/system_optimzation/atune/figures/picture1.png b/docs/en/server/performance/system_optimzation/atune/figures/picture1.png deleted file mode 100644 index 52d496e95f06ef8636730dbbc1aa84d88aea6a34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7800 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 FV1id93qSw> diff --git a/docs/en/server/performance/system_optimzation/atune/figures/zh-cn_image_0213178480.png b/docs/en/server/performance/system_optimzation/atune/figures/zh-cn_image_0213178480.png deleted file mode 100644 index a32856aa08e459ed0f51f8fcf4c2f51511c12095..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1858 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�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 diff --git a/docs/en/server/performance/system_optimzation/atune/figures/zh-cn_image_0227497000.png b/docs/en/server/performance/system_optimzation/atune/figures/zh-cn_image_0227497000.png deleted file mode 100644 index db9b5ce8b6d211d54ea36930504cca415ddfb8ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186566 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 UCW=jFf&W&NRl8dt{fp240c)_8=l}o! diff --git a/docs/en/server/performance/system_optimzation/atune/figures/zh-cn_image_0231122163.png b/docs/en/server/performance/system_optimzation/atune/figures/zh-cn_image_0231122163.png deleted file mode 100644 index 66bf082a6537ad70c84e4e8f07de745f973482b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46034 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 diff --git a/docs/en/server/performance/system_optimzation/atune/getting_to_know_a_tune.md b/docs/en/server/performance/system_optimzation/atune/getting_to_know_a_tune.md deleted file mode 100644 index 0fbc0788..00000000 --- a/docs/en/server/performance/system_optimzation/atune/getting_to_know_a_tune.md +++ /dev/null @@ -1,63 +0,0 @@ -# Getting to Know A-Tune - -## Introduction - -An operating system \(OS\) is basic software that connects applications and hardware. It is critical for users to adjust OS and application configurations and make full use of software and hardware capabilities to achieve optimal service performance. However, numerous workload types and varied applications run on the OS, and the requirements on resources are different. Currently, the application environment composed of hardware and software involves more than 7000 configuration objects. As the service complexity and optimization objects increase, the time cost for optimization increases exponentially. As a result, optimization efficiency decreases sharply. Optimization becomes complex and brings great challenges to users. - -Second, as infrastructure software, the OS provides a large number of software and hardware management capabilities. The capability required varies in different scenarios. Therefore, capabilities need to be enabled or disabled depending on scenarios, and a combination of capabilities will maximize the optimal performance of applications. - -In addition, the actual business embraces hundreds and thousands of scenarios, and each scenario involves a wide variety of hardware configurations for computing, network, and storage. The lab cannot list all applications, business scenarios, and hardware combinations. - -To address the preceding challenges, openEuler launches A-Tune. - -A-Tune is an AI-based engine that optimizes system performance. It uses AI technologies to precisely profile business scenarios, discover and infer business characteristics, so as to make intelligent decisions, match with the optimal system parameter configuration combination, and give recommendations, ensuring the optimal business running status. - -![](figures/zh-cn_image_0227497000.png) - -## Architecture - -The following figure shows the A-Tune core technical architecture, which consists of intelligent decision-making, system profile, and interaction system. - -- Intelligent decision-making layer: consists of the awareness and decision-making subsystems, which implements intelligent awareness of applications and system optimization decision-making, respectively. -- System profile layer: consists of the feature engineering and two-layer classification model. The feature engineering is used to automatically select service features, and the two-layer classification model is used to learn and classify service models. -- Interaction system layer: monitors and configures various system resources and executes optimization policies. - -![](figures/zh-cn_image_0227497343.png) - -## Supported Features and Service Models - -### Supported Features - -[Table 1](#table1919220557576) describes the main features supported by A-Tune, feature maturity, and usage suggestions. - -**Table 1** Feature maturity - - - -| Feature | Maturity | Usage Suggestion | -| --------------------------------------------------------- | -------- | ---------------- | -| Auto optimization of 15 applications in 11 workload types | Tested | Pilot | -| User-defined profile and service models | Tested | Pilot | -| Automatic parameter optimization | Tested | Pilot | - -### Supported Service Models - -Based on the workload characteristics of applications, A-Tune classifies services into 11 types. For details about the bottleneck of each type and the applications supported by A-Tune, see [Table 2](#table2819164611311). - -**Table 2** Supported workload types and applications - - - -| Service category | Type | Bottleneck | Supported Application | -| ------------------ | -------------------- | ------------------------------------------------------------ | ----------------------------------- | -| default | Default type | Low resource usage in terms of cpu, memory, network, and I/O | N/A | -| webserver | Web application | Bottlenecks of cpu and network | Nginx, Apache Traffic Server | -| database | Database | Bottlenecks of cpu, memory, and I/O | Mongodb, Mysql, Postgresql, Mariadb | -| big_data | Big data | Bottlenecks of cpu and memory | Hadoop-hdfs, Hadoop-spark | -| middleware | Middleware framework | Bottlenecks of cpu and network | Dubbo | -| in-memory_database | Memory database | Bottlenecks of memory and I/O | Redis | -| basic-test-suite | Basic test suite | Bottlenecks of cpu and memory | SPECCPU2006, SPECjbb2015 | -| hpc | Human genome | Bottlenecks of cpu, memory, and I/O | Gatk4 | -| storage | Storage | Bottlenecks of network, and I/O | Ceph | -| virtualization | Virtualization | Bottlenecks of cpu, memory, and I/O | Consumer-cloud, Mariadb | -| docker | Docker | Bottlenecks of cpu, memory, and I/O | Mariadb | diff --git a/docs/en/server/performance/system_optimzation/atune/installation_and_deployment.md b/docs/en/server/performance/system_optimzation/atune/installation_and_deployment.md deleted file mode 100644 index 10730ff9..00000000 --- a/docs/en/server/performance/system_optimzation/atune/installation_and_deployment.md +++ /dev/null @@ -1,509 +0,0 @@ -# Installation and Deployment - -This chapter describes how to install and deploy A-Tune. - -## Software and Hardware Requirements - -### Hardware Requirement - -- Huawei Kunpeng 920 processor - -### Software Requirement - -- OS: openEuler 22.03 - -## Environment Preparation - -For details about installing an openEuler OS, see the [_openEuler Installation Guide_](../../../installation_upgrade/installation/installation_on_servers.md). - -## A-Tune Installation - -This section describes the installation modes and methods of the A-Tune. - -### Installation Modes - -A-Tune can be installed in single-node, distributed, and cluster modes. - -- Single-node mode - - The client and server are installed on the same system. - -- Distributed mode - - The client and server are installed on different systems. - -- Cluster mode - A cluster consists of a client and more than one servers. - -The installation modes are as follows: - -![](./figures/zh-cn_image_0231122163.png) - -### Installation Procedure - -To install the A-Tune, perform the following steps: - -1. Mount an openEuler ISO image. - - ```shell - mount openEuler-22.03-LTS-everything-x86_64-dvd.iso /mnt - ``` - - > Use the **everything** ISO image. - -2. Configure the local Yum source. - - ```shell - vim /etc/yum.repos.d/local.repo - ``` - - The configured contents are as follows: - - ```conf - [local] - name=local - baseurl=file:///mnt - gpgcheck=1 - enabled=1 - ``` - -3. Import the GPG public key of the RPM digital signature to the system. - - ```shell - rpm --import /mnt/RPM-GPG-KEY-openEuler - ``` - -4. Install an A-Tune server. - - > [!NOTE]NOTE - > In this step, both the server and client software packages are installed. For the single-node deployment, skip **Step 5**. - - ```shell - yum install atune -y - yum install atune-engine -y - ``` - -5. For a distributed mode, install an A-Tune client on associated server. - - ```shell - yum install atune-client -y - ``` - -6. Check whether the installation is successful. - - ```shell - $ rpm -qa | grep atune - atune-client-xxx - atune-db-xxx - atune-xxx - atune-engine-xxx - ``` - - If the preceding information is displayed, the installation is successful. - -## A-Tune Deployment - -This section describes how to deploy A-Tune. - -### Overview - -The configuration items in the A-Tune configuration file **/etc/atuned/atuned.cnf** are described as follows: - -- A-Tune service startup configuration (modify the parameter values as required). - - - **protocol**: Protocol used by the gRPC service. The value can be **unix** or **tcp**. **unix** indicates the local socket communication mode, and **tcp** indicates the socket listening port mode. The default value is **unix**. - - **address**: Listening IP address of the gRPC service. The default value is **unix socket**. If the gRPC service is deployed in distributed mode, change the value to the listening IP address. - - **port**: Listening port of the gRPC server. The value ranges from 0 to 65535. If **protocol** is set to **unix**, you do not need to set this parameter. - - **connect**: IP address list of the nodes where the A-Tune is located when the A-Tune is deployed in a cluster. IP addresses are separated by commas (,). - - **rest_host**: Listening address of the REST service. The default value is localhost. - - **rest_port**: Listening port of the REST service. The value ranges from 0 to 65535. The default value is 8383. - - **engine_host**: IP address for connecting to the A-Tune engine service of the system. - - **engine_port**: Port for connecting to the A-Tune engine service of the system. - - **sample_num**: Number of samples collected when the system executes the analysis process. The default value is 20. - - **interval**: Interval for collecting samples when the system executes the analysis process. The default value is 5s. - - **grpc_tls**: Indicates whether to enable SSL/TLS certificate verification for the gRPC service. By default, this function is disabled. After grpc_tls is enabled, you need to set the following environment variables before running the **atune-adm** command to communicate with the server: - - export ATUNE_TLS=yes - - export ATUNED_CACERT=\ - - export ATUNED_CLIENTCERT=\ - - export ATUNED_CLIENTKEY=\ - - export ATUNED_SERVERCN=server - - **tlsservercafile**: Path of the gPRC server's CA certificate. - - **tlsservercertfile**: Path of the gPRC server certificate. - - **tlsserverkeyfile**: Path of the gPRC server key. - - **rest_tls**: Indicates whether to enable SSL/TLS certificate verification for the REST service. This function is enabled by default. - - **tlsrestcacertfile**: Path of the server's CA certificate of the REST service. - - **tlsrestservercertfile**: Path of the server certificate of the REST service. - - **tlsrestserverkeyfile**: Indicates the key path of the REST service. - - **engine_tls**: Indicates whether to enable SSL/TLS certificate verification for the A-Tune engine service. This function is enabled by default.. - - **tlsenginecacertfile**: Path of the client CA certificate of the A-Tune engine service. - - **tlsengineclientcertfile**: Client certificate path of the A-Tune engine service. - - **tlsengineclientkeyfile**: Client key path of the A-Tune engine service. - -- System information - - System is the parameter information required for system optimization. You must modify the parameter information according to the actual situation. - - - **disk**: Disk information to be collected during the analysis process or specified disk during disk optimization. - - **network**: NIC information to be collected during the analysis process or specified NIC during NIC optimization. - - **user**: User name used for ulimit optimization. Currently, only the user **root** is supported. - -- Log information - - Change the log level as required. The default log level is info. Log information is recorded in the **/var/log/messages** file. - -- Monitor information - - Hardware information that is collected by default when the system is started. - -- Tuning information - - Tuning is the parameter information required for offline tuning. - - - **noise**: Evaluation value of Gaussian noise. - - **sel_feature**: Indicates whether to enable the function of generating the importance ranking of offline tuning parameters. By default, this function is disabled. - -#### Example - -```conf -#################################### server ############################### - # atuned config - [server] - # the protocol grpc server running on - # ranges: unix or tcp - protocol = unix - - # the address that the grpc server to bind to - # default is unix socket /var/run/atuned/atuned.sock - # ranges: /var/run/atuned/atuned.sock or ip address - address = /var/run/atuned/atuned.sock - - # the atune nodes in cluster mode, separated by commas - # it is valid when protocol is tcp - # connect = ip01,ip02,ip03 - - # the atuned grpc listening port - # the port can be set between 0 to 65535 which not be used - # port = 60001 - - # the rest service listening port, default is 8383 - # the port can be set between 0 to 65535 which not be used - rest_host = localhost - rest_port = 8383 - - # the tuning optimizer host and port, start by engine.service - # if engine_host is same as rest_host, two ports cannot be same - # the port can be set between 0 to 65535 which not be used - engine_host = localhost - engine_port = 3838 - - # when run analysis command, the numbers of collected data. - # default is 20 - sample_num = 20 - - # interval for collecting data, default is 5s - interval = 5 - - # enable gRPC authentication SSL/TLS - # default is false - # grpc_tls = false - # tlsservercafile = /etc/atuned/grpc_certs/ca.crt - # tlsservercertfile = /etc/atuned/grpc_certs/server.crt - # tlsserverkeyfile = /etc/atuned/grpc_certs/server.key - - # enable rest server authentication SSL/TLS - # default is true - rest_tls = true - tlsrestcacertfile = /etc/atuned/rest_certs/ca.crt - tlsrestservercertfile = /etc/atuned/rest_certs/server.crt - tlsrestserverkeyfile = /etc/atuned/rest_certs/server.key - - # enable engine server authentication SSL/TLS - # default is true - engine_tls = true - tlsenginecacertfile = /etc/atuned/engine_certs/ca.crt - tlsengineclientcertfile = /etc/atuned/engine_certs/client.crt - tlsengineclientkeyfile = /etc/atuned/engine_certs/client.key - - - #################################### log ############################### - [log] - # either "debug", "info", "warn", "error", "critical", default is "info" - level = info - - #################################### monitor ############################### - [monitor] - # with the module and format of the MPI, the format is {module}_{purpose} - # the module is Either "mem", "net", "cpu", "storage" - # the purpose is "topo" - module = mem_topo, cpu_topo - - #################################### system ############################### - # you can add arbitrary key-value here, just like key = value - # you can use the key in the profile - [system] - # the disk to be analysis - disk = sda - - # the network to be analysis - network = enp189s0f0 - - user = root - - #################################### tuning ############################### - # tuning configs - [tuning] - noise = 0.000000001 - sel_feature = false -``` - -The configuration items in the configuration file **/etc/atuned/engine.cnf** of the A-Tune engine are described as follows: - -- Startup configuration of the A-Tune engine service (modify the parameter values as required). - - - **engine_host**: Listening address of the A-Tune engine service. The default value is localhost. - - **engine_port**: Listening port of the A-Tune engine service. The value ranges from 0 to 65535. The default value is 3838. - - **engine_tls**: Indicates whether to enable SSL/TLS certificate verification for the A-Tune engine service. This function is enabled by default. - - **tlsenginecacertfile**: Path of the server CA certificate of the A-Tune engine service. - - **tlsengineservercertfile**: Path of the server certificate of the A-Tune engine service. - - **tlsengineserverkeyfile**: Server key path of the A-Tune engine service. - -- Log information - - Change the log level as required. The default log level is info. Log information is recorded in the **/var/log/messages** file. - -#### Example - -```conf -#################################### engine ############################### - [server] - # the tuning optimizer host and port, start by engine.service - # if engine_host is same as rest_host, two ports cannot be same - # the port can be set between 0 to 65535 which not be used - engine_host = localhost - engine_port = 3838 - - # enable engine server authentication SSL/TLS - # default is true - engine_tls = true - tlsenginecacertfile = /etc/atuned/engine_certs/ca.crt - tlsengineservercertfile = /etc/atuned/engine_certs/server.crt - tlsengineserverkeyfile = /etc/atuned/engine_certs/server.key - - #################################### log ############################### - [log] - # either "debug", "info", "warn", "error", "critical", default is "info" - level = info -``` - -## Starting A-Tune - -After A-Tune is installed, you need to configure the A-Tune service before starting it. - -- Configure the A-Tune service. - Modify the network adapter and drive information in the **atuned.cnf** configuration file. - > Note: - > - > If atuned is installed through `make install`, the network adapter and drive information in the configuration file is automatically updated to the default devices on the machine. To collect data from other devices, perform the following steps to configure atuned. - - Run the following command to search for the network adapter that needs to be specified for optimization or data collection, and change the value of **network** in the **/etc/atuned/atuned.cnf** file to the specified network adapter: - - ```shell - ip addr - ``` - - Run the following command to search for the drive that need to be specified for optimization or data collection, and change the value of **disk** in the **/etc/atuned/atuned.cnf** file to the specified drive: - - ```shell - fdisk -l | grep dev - ``` - -- About the certificate: - The A-Tune engine and client use the gRPC communication protocol. Therefore, you need to configure a certificate to ensure system security. For information security purposes, A-Tune does not provide a certificate generation method. You need to configure a system certificate by yourself. - If security is not considered, set **rest_tls** and **engine_tls** in the **/etc/atuned/atuned.cnf** file to **false**, set **engine_tls** in the **/etc/atuned/engine.cnf** file to **false**. - A-Tune is not liable for any consequences incurred if no security certificate is configured. - -- Start the atuned service. - - ```shell - systemctl start atuned - ``` - -- Query the atuned service status. - - ```shell - systemctl status atuned - ``` - - If the following command output is displayed, the service is started successfully: - - ![](./figures/zh-cn_image_0214540398.png) - -## Starting A-Tune Engine - -To use AI functions, you need to start the A-Tune engine service. - -- Start the atune-engine service. - - ```shell - systemctl start atune-engine - ``` - -- Query the atune-engine service status. - - ```shell - systemctl status atune-engine - ``` - - If the following command output is displayed, the service is started successfully: - - ![](./figures/zh-cn_image_0245342444.png) - -## Distributed Deployment - -### Purpose of Distributed Deployment - -A-Tune supports distributed deployment to implement distributed architecture and on-demand deployment. The components of A-Tune can be deployed separately. Lightweight component deployment has little impact on services and avoids installing too many dependencies to reduce the system load. - -This document describes only a common deployment mode: deploying the client and server on the same node and deploying the engine module on another node. For details about other deployment modes, contact A-Tune developers. - -**Deployment relationship** -![](figures/picture1.png) - -### Configuration File - -In distributed deployment mode, you need to configure the write the IP address and port number of the engine in the configuration file so that other components can access the engine component through the IP address. - -1. Modify the **/etc/atuned/atuned.cnf** file on the server node. - - - Change the values of **engine_host** and **engine_port** in line 34 to the IP address and port number of the engine node. For the deployment in the preceding figure, the values are **engine_host = 192.168.0.1 engine_port = 3838**. - - Change the values of **rest_tls** and **engine_tls** in lines 49 and 55 to **false**. Otherwise, you need to apply for and configure certificates. You do not need to configure SSL certificates in the test environment. However, you need to configure SSL certificates in the production environment to prevent security risks. - -2. Modify the**/etc/atuned/engine.cnf** file on the engine node. - - - Change the values of **engine_host** and **engine_port** in lines 17 and 18 to the IP address and port number of the engine node. For the deployment in the preceding figure, the value are **engine_host = 192.168.0.1 engine_port = 3838**. - - Change the value of **engine_tls** in line 22 to **false**. - -3. After modifying the configuration file, restart the service for the modification to take effect. - - - Run the `systemctl restart atuned command` on the server node. - - Run the `systemctl restart atune-engine` command on the engine node. - -4. (Optional) Run the `tuning` command in the **A-Tune/examples/tuning/compress** folder. - - - For details, see **A-Tune/examples/tuning/compress/README**. - - Run the `atune-adm tuning --project compress --detail compress_client.yaml` command. - - This step is to check whether the distributed deployment is successful. - -### Precautions - -1. This document does not describe how to configure the authentication certificates. You can set **rest_tls** or **engine_tls** in the **atuned.cnf** and **engine.cnf** files to **false** if necessary. -2. After modifying the configuration file, restart the service. Otherwise, the modification does not take effect. -3. Do not enable the proxy when using A-Tune. -4. The **disk** and **network** items of the **\[system]** section in the **atuned.cnf** file need to be modified. For details about how to modify the items, see the [A-Tune User Guide](https://gitee.com/gaoruoshu/A-Tune/blob/master/Documentation/UserGuide/A-Tune%E7%94%A8%E6%88%B7%E6%8C%87%E5%8D%97.md). - -### Example - -#### atuned.cnf - -```conf -# ...... - -# the tuning optimizer host and port, start by engine.service -# if engine_host is same as rest_host, two ports cannot be same -# the port can be set between 0 to 65535 which not be used -engine_host = 192.168.0.1 -engine_port = 3838 - -# ...... -``` - -#### engine.cnf - -```bash -[server] -# the tuning optimizer host and port, start by engine.service -# if engine_host is same as rest_host, two ports cannot be same -# the port can be set between 0 to 65535 which not be used -engine_host = 192.168.0.1 -engine_port = 3838 -``` - -## Cluster Deployment - -### Purpose of Cluster Deployment - -To support fast tuning in multi-node scenarios, A-Tune supports dynamic tuning of parameter settings on multiple nodes at the same time. In this way, you do not need to tune each node separately, improving tuning efficiency. -Cluster deployment mode consists of one master node and several agent nodes. The client and server are deployed on the master node to receive commands and interact with the engine. Other nodes receive instructions from the master node and configure the parameters of the current node. - -**Deployment relationship** - ![](figures/picture4.png) - -In the preceding figure, the client and server are deployed on the node whose IP address is 192.168.0.0. Project files are stored on this node. Other nodes do not contain project files. -The master node communicates with the agent nodes through TCP. Therefore, you need to modify the configuration file. - -### Modifications to atuned.cnf - -1. Set the value of **protocol** to **tcp**. -2. Set the value of **address** to the IP address of the current node. -3. Set the value of **connect** to the IP addresses of all nodes. The first IP address is the IP address of the master node, and the subsequent IP addresses are the IP addresses of agent nodes. Use commas (,) to separate the IP addresses. -4. During debugging, you can set **rest_tls** and **engine_tls** to **false**. -5. Perform the same modification on the **atuned.cnf** files of all the master and agent nodes. - -### Precautions - -1. The values of **engine_host** and **engine_port** must be consistent in the **engine.cnf** file and the **atuned.cnf** file on the server. -2. This document does not describe how to configure the authentication certificates. You can set **rest_tls** or **engine_tls** in the **atuned.cnf** and **engine.cnf** files to **false** if necessary. -3. After modifying the configuration file, restart the service. Otherwise, the modification does not take effect. -4. Do not enable the proxy when using A-Tune. - -### Example - -#### atuned.cnf - -```conf -# ...... - -[server] -# the protocol grpc server running on -# ranges: unix or tcp -protocol = tcp - -# the address that the grpc server to bind to -# default is unix socket /var/run/atuned/atuned.sock -# ranges: /var/run/atuned/atuned.sock or ip address -address = 192.168.0.0 - -# the atune nodes in cluster mode, separated by commas -# it is valid when protocol is tcp -connect = 192.168.0.0,192.168.0.1,192.168.0.2,192.168.0.3 - -# the atuned grpc listening port -# the port can be set between 0 to 65535 which not be used -port = 60001 - -# the rest service listening port, default is 8383 -# the port can be set between 0 to 65535 which not be used -rest_host = localhost -rest_port = 8383 - -# the tuning optimizer host and port, start by engine.service -# if engine_host is same as rest_host, two ports cannot be same -# the port can be set between 0 to 65535 which not be used -engine_host = 192.168.1.1 -engine_port = 3838 - -# ...... -``` - -#### engine.cnf - -```bash -[server] -# the tuning optimizer host and port, start by engine.service -# if engine_host is same as rest_host, two ports cannot be same -# the port can be set between 0 to 65535 which not be used -engine_host = 192.168.1.1 -engine_port = 3838 -``` - -Note: For details about the **engine.cnf** file, see the configuration file for distributed deployment. diff --git a/docs/en/server/performance/system_optimzation/atune/native_turbo.md b/docs/en/server/performance/system_optimzation/atune/native_turbo.md deleted file mode 100644 index 0abd1b3e..00000000 --- a/docs/en/server/performance/system_optimzation/atune/native_turbo.md +++ /dev/null @@ -1,54 +0,0 @@ -# Native-Turbo - -## Overview - -The code segment and data segment of a large program can reach hundreds of MB, and the TLB miss rate of key service processes is high. The size of the kernel page table affects the performance. - -To facilitate the use of huge pages, the Native-Turbo feature enables the system to automatically use huge pages when loading programs. Huge pages can be used for code segments and data segments. - -## How to Use - -1. Enable the feature. - - This feature has two levels of switches. `sysctl fs.exec-use-hugetlb` determines whether to enable this feature in the system. (This command can only be run by the **root** user. The value `0` indicates that this feature is disabled, and the value `1` indicates that this feature is enabled. Other values are invalid.) - - If not enabled, this feature will not be used even if users set environment variables because the kernel will ignore related processes. - - After this feature is enabled, common users can use the environment variable `HUGEPAGE_PROBE` to determine whether to use huge pages for running programs. If the value is `1`, huge pages are used. If the value is not set, huge pages are not used. - - ```shell - sysctl fs.exec-use-hugetlb=1 # The main program uses huge pages. - export HUGEPAGE_PROBE=1 # The dynamic library uses huge pages. - ``` - - You can also configure the environment variable `LD_HUGEPAGE_LIB=1` to force all segments to use huge pages. - -2. Mark the segments that need to use huge pages. By default, all segments are marked. `-x` only marks code segments. `-d` clears existing marks. - - ```shell - hugepageedit [-x] [-d] app - ``` - - This tool is provided by the glibc-devel package. - -3. Run the application. - - ./app - -## Restrictions - -1. The program and dynamic library must be compiled in 2 MB alignment mode by adding the following GCC compilation parameters: - - ```shell - -zcommon-page-size=0x200000 -zmax-page-size=0x200000 - ``` - -2. Sufficient huge pages must be reserved before use. Otherwise, the program will fail to be executed. - - If the cgroup is used, pay attention to the `hugetlb` limit. If the limit is less than the number of required huge pages, the system may break down during running. - -3. The size of the process page table is changed to 2 MB. Therefore, the parameters invoked by the system such as `mprotect` must be aligned by 2 MB. Otherwise, the execution will fail. - -4. The LibcarePlus hot patch mechanism is not supported. - -5. Huge pages cannot be shared among multiple processes because they will consume multiple times of memory. diff --git a/docs/en/server/performance/system_optimzation/atune/public_sys-resources/icon-caution.gif b/docs/en/server/performance/system_optimzation/atune/public_sys-resources/icon-caution.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/docs/en/server/performance/system_optimzation/atune/public_sys-resources/icon-danger.gif b/docs/en/server/performance/system_optimzation/atune/public_sys-resources/icon-danger.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/docs/en/server/performance/system_optimzation/atune/public_sys-resources/icon-note.gif b/docs/en/server/performance/system_optimzation/atune/public_sys-resources/icon-note.gif deleted file mode 100644 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394 zcmZ?wbhEHblx7fPSjxcg=ii?@_wH=jwxy=7CMGH-B`L+l$wfv=#>UF#$gv|VY%C^b zCQFtrnKN(Bo_%|sJbO}7RAORe!otL&qo<>yq_Sq+8Xqqo5h0P3w3Lvb5E(g{p01vl zxR@)KuDH0l^z`+-dH3eaw=XqSH7aTIx{kzVBN;X&hha0dQSgWuiw0NWUvMRmkD|> diff --git a/docs/en/server/performance/system_optimzation/atune/public_sys-resources/icon-notice.gif b/docs/en/server/performance/system_optimzation/atune/public_sys-resources/icon-notice.gif deleted file mode 100644 index 86024f61b691400bea99e5b1f506d9d9aef36e27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crk6Nk%w1VIu$@0J8u9|NsB@_xJDb@8;&_*4Ea}&d#;9wWXz{jEszHYim+c zQaU<1At50E0000000000A^8Le000gEEC2ui03!e%000R7038S%NU)&51O^i-Tu6`s z0)`MFE@;3YqD6xSC^kTNu_J>91{PH8XfZ(p1pp2-SU@u3#{mEUC}_}tg3+I#{z}{Ok@D_ZUDg- zt0stin4;pC8M{WLSlRH*1pzqEw1}3oOskyNN?j;7HD{BBZ*OEcv4HK!6Bk6beR+04 z&8}k>SkTusVTDmkyOz#5fCA$JTPGJVQvr3uZ?QzzPQFvD0rGf_PdrcF`pMs}p^BcF zKtKTd`0wipR%nKN&Wj+V}pX;WC3SdJV!a_8Qi zE7z`U*|Y^H0^}fB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/docs/en/server/performance/system_optimzation/atune/usage_instructions.md b/docs/en/server/performance/system_optimzation/atune/usage_instructions.md deleted file mode 100644 index 96c30420..00000000 --- a/docs/en/server/performance/system_optimzation/atune/usage_instructions.md +++ /dev/null @@ -1,731 +0,0 @@ -# Usage Instructions - -You can use functions provided by A-Tune through the CLI client atune-adm. This chapter describes the functions and usage of the A-Tune client. - -## Overview - -- You can run the **atune-adm help/--help/-h** command to query commands supported by atune-adm. -- The **define**, **update**, **undefine**, **collection**, **train**, and **upgrade**commands do not support remote execution. -- In the command format, brackets \(\[\]\) indicate that the parameter is optional, and angle brackets \(<\>\) indicate that the parameter is mandatory. The actual parameters prevail. - -## Querying Workload Types - -### list - -#### Function - -Query the supported profiles, and the values of Active. - -#### Format - -**atune-adm list** - -#### Example - -```shell -# atune-adm list - -Support profiles: -+------------------------------------------------+-----------+ -| ProfileName | Active | -+================================================+===========+ -| arm-native-android-container-robox | false | -+------------------------------------------------+-----------+ -| basic-test-suite-euleros-baseline-fio | false | -+------------------------------------------------+-----------+ -| basic-test-suite-euleros-baseline-lmbench | false | -+------------------------------------------------+-----------+ -| basic-test-suite-euleros-baseline-netperf | false | -+------------------------------------------------+-----------+ -| basic-test-suite-euleros-baseline-stream | false | -+------------------------------------------------+-----------+ -| basic-test-suite-euleros-baseline-unixbench | false | -+------------------------------------------------+-----------+ -| basic-test-suite-speccpu-speccpu2006 | false | -+------------------------------------------------+-----------+ -| basic-test-suite-specjbb-specjbb2015 | false | -+------------------------------------------------+-----------+ -| big-data-hadoop-hdfs-dfsio-hdd | false | -+------------------------------------------------+-----------+ -| big-data-hadoop-hdfs-dfsio-ssd | false | -+------------------------------------------------+-----------+ -| big-data-hadoop-spark-bayesian | false | -+------------------------------------------------+-----------+ -| big-data-hadoop-spark-kmeans | false | -+------------------------------------------------+-----------+ -| big-data-hadoop-spark-sql1 | false | -+------------------------------------------------+-----------+ -| big-data-hadoop-spark-sql10 | false | -+------------------------------------------------+-----------+ -| big-data-hadoop-spark-sql2 | false | -+------------------------------------------------+-----------+ -| big-data-hadoop-spark-sql3 | false | -+------------------------------------------------+-----------+ -| big-data-hadoop-spark-sql4 | false | -+------------------------------------------------+-----------+ -| big-data-hadoop-spark-sql5 | false | -+------------------------------------------------+-----------+ -| big-data-hadoop-spark-sql6 | false | -+------------------------------------------------+-----------+ -| big-data-hadoop-spark-sql7 | false | -+------------------------------------------------+-----------+ -| big-data-hadoop-spark-sql8 | false | -+------------------------------------------------+-----------+ -| big-data-hadoop-spark-sql9 | false | -+------------------------------------------------+-----------+ -| big-data-hadoop-spark-tersort | false | -+------------------------------------------------+-----------+ -| big-data-hadoop-spark-wordcount | false | -+------------------------------------------------+-----------+ -| cloud-compute-kvm-host | false | -+------------------------------------------------+-----------+ -| database-mariadb-2p-tpcc-c3 | false | -+------------------------------------------------+-----------+ -| database-mariadb-4p-tpcc-c3 | false | -+------------------------------------------------+-----------+ -| database-mongodb-2p-sysbench | false | -+------------------------------------------------+-----------+ -| database-mysql-2p-sysbench-hdd | false | -+------------------------------------------------+-----------+ -| database-mysql-2p-sysbench-ssd | false | -+------------------------------------------------+-----------+ -| database-postgresql-2p-sysbench-hdd | false | -+------------------------------------------------+-----------+ -| database-postgresql-2p-sysbench-ssd | false | -+------------------------------------------------+-----------+ -| default-default | false | -+------------------------------------------------+-----------+ -| docker-mariadb-2p-tpcc-c3 | false | -+------------------------------------------------+-----------+ -| docker-mariadb-4p-tpcc-c3 | false | -+------------------------------------------------+-----------+ -| hpc-gatk4-human-genome | false | -+------------------------------------------------+-----------+ -| in-memory-database-redis-redis-benchmark | false | -+------------------------------------------------+-----------+ -| middleware-dubbo-dubbo-benchmark | false | -+------------------------------------------------+-----------+ -| storage-ceph-vdbench-hdd | false | -+------------------------------------------------+-----------+ -| storage-ceph-vdbench-ssd | false | -+------------------------------------------------+-----------+ -| virtualization-consumer-cloud-olc | false | -+------------------------------------------------+-----------+ -| virtualization-mariadb-2p-tpcc-c3 | false | -+------------------------------------------------+-----------+ -| virtualization-mariadb-4p-tpcc-c3 | false | -+------------------------------------------------+-----------+ -| web-apache-traffic-server-spirent-pingpo | false | -+------------------------------------------------+-----------+ -| web-nginx-http-long-connection | true | -+------------------------------------------------+-----------+ -| web-nginx-https-short-connection | false | -+------------------------------------------------+-----------+ -``` - -> [!NOTE]NOTE -> If the value of Active is **true**, the profile is activated. In the example, the profile of web-nginx-http-long-connection is activated. - -## Workload Type Analysis and Auto Optimization - -### analysis - -#### Function - -Collect real-time statistics from the system to identify and automatically optimize workload types. - -#### Format - -**atune-adm analysis** \[OPTIONS\] - -#### Parameter Description - -- OPTIONS - -| Parameter | Description | -| ------------------------ | ---------------------------------------------------------------------------------------------- | -| --model, -m | New model generated after user self-training | -| --characterization, -c | Use the default model for application identification and do not perform automatic optimization | -| --times value, -t value | Time duration for data collection | -| --script value, -s value | File to be executed | - -#### Example - -- Use the default model for application identification. - - ```shell - # atune-adm analysis --characterization - ``` - -- Use the default model to identify applications and perform automatic tuning. - - ```shell - # atune-adm analysis - ``` - -- Use the user-defined training model for recognition. - - ```shell - # atune-adm analysis --model /usr/libexec/atuned/analysis/models/new-model.m - ``` - -## User-defined Model - -A-Tune allows users to define and learn new models. To define a new model, perform the following steps: - -1. Run the **define** command to define a new profile. -2. Run the **collection** command to collect the system data corresponding to the application. -3. Run the **train** command to train the model. - -### define - -#### Function - -Add a user-defined application scenarios and the corresponding profile tuning items. - -#### Format - -**atune-adm define** \ \ \ \ - -#### Example - -Add a profile whose service_type is **test_service**, application_name is **test_app**, scenario_name is **test_scenario**, and tuning item configuration file is **example.conf**. - -```shell -# atune-adm define test_service test_app test_scenario ./example.conf -``` - -The **example.conf** file can be written as follows (the following optimization items are optional and are for reference only). You can also run the **atune-adm info** command to view how the existing profile is written. - -```ini - [main] - # list its parent profile - [kernel_config] - # to change the kernel config - [bios] - # to change the bios config - [bootloader.grub2] - # to change the grub2 config - [sysfs] - # to change the /sys/* config - [systemctl] - # to change the system service status - [sysctl] - # to change the /proc/sys/* config - [script] - # the script extension of cpi - [ulimit] - # to change the resources limit of user - [schedule_policy] - # to change the schedule policy - [check] - # check the environment - [tip] - # the recommended optimization, which should be performed manunaly -``` - -### collection - -#### Function - -Collect the global resource usage and OS status information during service running, and save the collected information to a CSV output file as the input dataset for model training. - -> [!NOTE]NOTE -> -> - This command depends on the sampling tools such as perf, mpstat, vmstat, iostat, and sar. -> - Currently, only the Kunpeng 920 CPU is supported. You can run the **dmidecode -t processor** command to check the CPU model. - -#### Format - -**atune-adm collection** - -#### Parameter Description - -- OPTIONS - -| Parameter | Description | -| ----------------- | ----------------------------------------------------------------------------------------------------- | -| --filename, -f | Name of the generated CSV file used for training: *name*-*timestamp*.csv | -| --output_path, -o | Path for storing the generated CSV file. The absolute path is required. | -| --disk, -b | Disk used during service running, for example, /dev/sda. | -| --network, -n | Network port used during service running, for example, eth0. | -| --app_type, -t | Mark the application type of the service as a label for training. | -| --duration, -d | Data collection time during service running, in seconds. The default collection time is 1200 seconds. | -| --interval, -i | Interval for collecting data, in seconds. The default interval is 5 seconds. | - -#### Example - -```shell -# atune-adm collection --filename name --interval 5 --duration 1200 --output_path /home/data --disk sda --network eth0 --app_type test_service-test_app-test_scenario -``` - -> Note: -> -> In the example, data is collected every 5 seconds for a duration of 1200 seconds. The collected data is stored as the *name* file in the **/home/data** directory. The application type of the service is defined by the `atune-adm define` command, which is **test_service-test_app-test_scenario** in this example. -> The data collection interval and duration can be specified using the preceding command options. - -### train - -#### Function - -Use the collected data to train the model. Collect data of at least two application types during training. Otherwise, an error is reported. - -#### Format - -**atune-adm train** - -#### Parameter Description - -- OPTIONS - - | Parameter | Description | - | ----------------- | ------------------------------------------------------ | - | --data_path, -d | Path for storing CSV files required for model training | - | --output_file, -o | Model generated through training | - -#### Example - -Use the CSV file in the **data** directory as the training input. The generated model **new-model.m** is stored in the **model** directory. - -```shell -# atune-adm train --data_path /home/data --output_file /usr/libexec/atuned/analysis/models/new-model.m -``` - -### undefine - -#### Function - -Delete a user-defined profile. - -#### Format - -**atune-adm undefine** - -#### Example - -Delete the user-defined profile. - -```shell -# atune-adm undefine test_service-test_app-test_scenario -``` - -## Querying Profiles - -### info - -#### Function - -View the profile content. - -#### Format - -**atune-adm info** - -#### Example - -View the profile content of web-nginx-http-long-connection. - -```shell -# atune-adm info web-nginx-http-long-connection - -*** web-nginx-http-long-connection: - -# -# nginx http long connection A-Tune configuration -# -[main] -include = default-default - -[kernel_config] -#TODO CONFIG - -[bios] -#TODO CONFIG - -[bootloader.grub2] -iommu.passthrough = 1 - -[sysfs] -#TODO CONFIG - -[systemctl] -sysmonitor = stop -irqbalance = stop - -[sysctl] -fs.file-max = 6553600 -fs.suid_dumpable = 1 -fs.aio-max-nr = 1048576 -kernel.shmmax = 68719476736 -kernel.shmall = 4294967296 -kernel.shmmni = 4096 -kernel.sem = 250 32000 100 128 -net.ipv4.tcp_tw_reuse = 1 -net.ipv4.tcp_syncookies = 1 -net.ipv4.ip_local_port_range = 1024 65500 -net.ipv4.tcp_max_tw_buckets = 5000 -net.core.somaxconn = 65535 -net.core.netdev_max_backlog = 262144 -net.ipv4.tcp_max_orphans = 262144 -net.ipv4.tcp_max_syn_backlog = 262144 -net.ipv4.tcp_timestamps = 0 -net.ipv4.tcp_synack_retries = 1 -net.ipv4.tcp_syn_retries = 1 -net.ipv4.tcp_fin_timeout = 1 -net.ipv4.tcp_keepalive_time = 60 -net.ipv4.tcp_mem = 362619 483495 725238 -net.ipv4.tcp_rmem = 4096 87380 6291456 -net.ipv4.tcp_wmem = 4096 16384 4194304 -net.core.wmem_default = 8388608 -net.core.rmem_default = 8388608 -net.core.rmem_max = 16777216 -net.core.wmem_max = 16777216 - -[script] -prefetch = off -ethtool = -X {network} hfunc toeplitz - -[ulimit] -{user}.hard.nofile = 102400 -{user}.soft.nofile = 102400 - -[schedule_policy] -#TODO CONFIG - -[check] -#TODO CONFIG - -[tip] -SELinux provides extra control and security features to linux kernel. Disabling SELinux will improve the performance but may cause security risks. = kernel -disable the nginx log = application -``` - -## Updating a Profile - -You can update the existing profile as required. - -### update - -#### Function - -Update the original tuning items in the existing profile to the content in the **new.conf** file. - -#### Format - -**atune-adm update** - -#### Example - -Change the tuning item of the profile named **test_service-test_app-test_scenario** to **new.conf**. - -```shell -# atune-adm update test_service-test_app-test_scenario ./new.conf -``` - -## Activating a Profile - -### profile - -#### Function - -Manually activate the profile to make it in the active state. - -#### Format - -**atune-adm profile** - -#### Parameter Description - -For details about the profile name, see the query result of the list command. - -#### Example - -Activate the profile corresponding to the web-nginx-http-long-connection. - -```shell -# atune-adm profile web-nginx-http-long-connection -``` - -## Rolling Back Profiles - -### rollback - -#### Functions - -Roll back the current configuration to the initial configuration of the system. - -#### Format - -**atune-adm rollback** - -#### Example - -```shell -# atune-adm rollback -``` - -## Updating Database - -### upgrade - -#### Function - -Update the system database. - -#### Format - -**atune-adm upgrade** - -#### Parameter Description - -- DB\_FILE - - New database file path. - -#### Example - -The database is updated to **new\_sqlite.db**. - -```shell -# atune-adm upgrade ./new_sqlite.db -``` - -## Querying System Information - -### check - -#### Function - -Check the CPU, BIOS, OS, and NIC information. - -#### Format - -**atune-adm check** - -#### Example - -```shell -# atune-adm check - cpu information: - cpu:0 version: Kunpeng 920-6426 speed: 2600000000 HZ cores: 64 - cpu:1 version: Kunpeng 920-6426 speed: 2600000000 HZ cores: 64 - system information: - DMIBIOSVersion: 0.59 - OSRelease: 4.19.36-vhulk1906.3.0.h356.eulerosv2r8.aarch64 - network information: - name: eth0 product: HNS GE/10GE/25GE RDMA Network Controller - name: eth1 product: HNS GE/10GE/25GE Network Controller - name: eth2 product: HNS GE/10GE/25GE RDMA Network Controller - name: eth3 product: HNS GE/10GE/25GE Network Controller - name: eth4 product: HNS GE/10GE/25GE RDMA Network Controller - name: eth5 product: HNS GE/10GE/25GE Network Controller - name: eth6 product: HNS GE/10GE/25GE RDMA Network Controller - name: eth7 product: HNS GE/10GE/25GE Network Controller - name: docker0 product: -``` - -## Automatic Parameter Optimization - -A-Tune provides the automatic search capability with the optimal configuration, saving the trouble of manually configuring parameters and performance evaluation. This greatly improves the search efficiency of optimal configurations. - -### Tuning - -#### Function - -Use the specified project file to search the dynamic space for parameters and find the optimal solution under the current environment configuration. - -#### Format - -**atune-adm tuning** \[OPTIONS\] - -> [!NOTE]NOTE -Before running the command, ensure that the following conditions are met: - -1. The YAML configuration file on the server has been edited and stored in the **/etc/atuned/tuning/** directory of the atuned service. -2. The YAML configuration file of the client has been edited and stored on the atuned client. - -#### Parameter Description - -- OPTIONS - -| Parameter | Description | -| ------------- | ----------------------------------------------------------- | -| --restore, -r | Restores the initial configuration before tuning. | -| --project, -p | Specifies the project name in the YAML file to be restored. | -| --restart, -c | Perform tuning based on historical tuning results. | -| --detail, -d | Print detailed information about the tuning process. | - -> [!NOTE]NOTE -> If this parameter is used, the -p parameter must be followed by a specific project name and the YAML file of the project must be specified. - -- **PROJECT\_YAML**: YAML configuration file of the client. - -#### Configuration Description - -**Table 1** YAML file on the server - -| Name | Description | Type | Value Range | -| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- | ----------- | -| project | Project name. | Character string | - | -| startworkload | Script for starting the service to be optimized. | Character string | - | -| stopworkload | Script for stopping the service to be optimized. | Character string | - | -| maxiterations | Maximum number of optimization iterations, which is used to limit the number of iterations on the client. Generally, the more optimization iterations, the better the optimization effect, but the longer the time required. Set this parameter based on the site requirements. | Integer | >10 | -| object | Parameters to be optimized and related information.
For details about the object configuration items, see Table 2. | | | - -**Table 2** Description of object configuration items - -| Name | Description | Type | Value Range | -| ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- | ------------------------------------------------------------------------------- | -| name | Parameter to be optimized. | Character string | - | -| desc | Description of parameters to be optimized. | Character string | - | -| get | Script for querying parameter values. | - | - | -| set | Script for setting parameter values. | - | - | -| needrestart | Specifies whether to restart the service for the parameter to take effect. | Enumeration | **true** or **false** | -| type | Parameter type. Currently, the **discrete** and **continuous** types are supported. | Enumeration | **discrete** or **continuous** | -| dtype | This parameter is available only when type is set to **discrete**. Currently, **int**, **float** and **string** are supported. | Enumeration | int, float, string | -| scope | Parameter setting range. This parameter is valid only when type is set to discrete and **dtype** is set to **int** or **float**, or **type** is set to **continuous**. | Integer/Float | The value is user-defined and must be within the valid range of this parameter. | -| step | Parameter value step, which is used when **dtype** is set to **int** or **float**. | Integer/Float | This value is user-defined. | -| items | Enumerated value of which the parameter value is not within the scope. This is used when **dtype** is set to **int** or **float**. | Integer/Float | The value is user-defined and must be within the valid range of this parameter. | -| options | Enumerated value range of the parameter value, which is used when **dtype** is set to **string**. | Character string | The value is user-defined and must be within the valid range of this parameter. | - -**Table 3** Description of configuration items of a YAML file on the client - -| Name | Description | Type | Value Range | -| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- | ------------------------------------------------- | -| project | Project name, which must be the same as that in the configuration file on the server. | Character string | - | -| engine | Tuning algorithm. | Character string | "random", "forest", "gbrt", "bayes", "extraTrees" | -| iterations | Number of optimization iterations. | Integer | ≥ 10 | -| random_starts | Number of random iterations. | Integer | < iterations | -| feature_filter_engine | Parameter search algorithm, which is used to select important parameters. This parameter is optional. | Character string | "lhs" | -| feature_filter_cycle | Parameter search cycles, which is used to select important parameters. This parameter is used together with feature_filter_engine. | Integer | - | -| feature_filter_iters | Number of iterations for each cycle of parameter search, which is used to select important parameters. This parameter is used together with feature_filter_engine. | Integer | - | -| split_count | Number of evenly selected parameters in the value range of tuning parameters, which is used to select important parameters. This parameter is used together with feature_filter_engine. | Integer | - | -| benchmark | Performance test script. | - | - | -| evaluations | Performance test evaluation index.
For details about the evaluations configuration items, see Table 4. | - | - | - -**Table 4** Description of evaluations configuration item - -| Name | Description | Type | Value Range | -| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- | ---------------------------- | -| name | Evaluation index name. | Character string | - | -| get | Script for obtaining performance evaluation results. | - | - | -| type | Specifies a **positive** or **negative** type of the evaluation result. The value **positive** indicates that the performance value is minimized, and the value **negative** indicates that the performance value is maximized. | Enumeration | **positive** or **negative** | -| weight | Weight of the index. The value ranges from 0 to 100. | Integer | 0-100 | -| threshold | Minimum performance requirement of the index. | Integer | User-defined | - -#### Example - -The following is an example of the YAML file configuration on a server: - -```yaml -project: "compress" -maxiterations: 500 -startworkload: "" -stopworkload: "" -object : - - - name : "compressLevel" - info : - desc : "The compresslevel parameter is an integer from 1 to 9 controlling the level of compression" - get : "cat /root/A-Tune/examples/tuning/compress/compress.py | grep 'compressLevel=' | awk -F '=' '{print $2}'" - set : "sed -i 's/compressLevel=\\s*[0-9]*/compressLevel=$value/g' /root/A-Tune/examples/tuning/compress/compress.py" - needrestart : "false" - type : "continuous" - scope : - - 1 - - 9 - dtype : "int" - - - name : "compressMethod" - info : - desc : "The compressMethod parameter is a string controlling the compression method" - get : "cat /root/A-Tune/examples/tuning/compress/compress.py | grep 'compressMethod=' | awk -F '=' '{print $2}' | sed 's/\"//g'" - set : "sed -i 's/compressMethod=\\s*[0-9,a-z,\"]*/compressMethod=\"$value\"/g' /root/A-Tune/examples/tuning/compress/compress.py" - needrestart : "false" - type : "discrete" - options : - - "bz2" - - "zlib" - - "gzip" - dtype : "string" -``` - -The following is an example of the YAML file configuration on a client: - -```yaml -project: "compress" -engine : "gbrt" -iterations : 20 -random_starts : 10 - -benchmark : "python3 /root/A-Tune/examples/tuning/compress/compress.py" -evaluations : - - - name: "time" - info: - get: "echo '$out' | grep 'time' | awk '{print $3}'" - type: "positive" - weight: 20 - - - name: "compress_ratio" - info: - get: "echo '$out' | grep 'compress_ratio' | awk '{print $3}'" - type: "negative" - weight: 80 -``` - -#### Example - -- Download test data. - - ```shell - wget http://cs.fit.edu/~mmahoney/compression/enwik8.zip - ``` - -- Prepare the tuning environment. - - Example of **prepare.sh**: - - ```shell - #!/usr/bin/bash - if [ "$#" -ne 1 ]; then - echo "USAGE: $0 the path of enwik8.zip" - exit 1 - fi - - path=$( - cd "$(dirname "$0")" - pwd - ) - - echo "unzip enwik8.zip" - unzip "$path"/enwik8.zip - - echo "set FILE_PATH to the path of enwik8 in compress.py" - sed -i "s#compress/enwik8#$path/enwik8#g" "$path"/compress.py - - echo "update the client and server yaml files" - sed -i "s#python3 .*compress.py#python3 $path/compress.py#g" "$path"/compress_client.yaml - sed -i "s# compress/compress.py# $path/compress.py#g" "$path"/compress_server.yaml - - echo "copy the server yaml file to /etc/atuned/tuning/" - cp "$path"/compress_server.yaml /etc/atuned/tuning/ - ``` - - Run the script. - - ```shell - sh prepare.sh enwik8.zip - ``` - -- Run the `tuning` command to tune the parameters. - - ```shell - atune-adm tuning --project compress --detail compress_client.yaml - ``` - -- Restore the configuration before running `tuning`. **compress** indicates the project name in the YAML file. - - ```shell - atune-adm tuning --restore --project compress - ``` diff --git a/docs/en/tools/community_tools/_toc.yaml b/docs/en/tools/community_tools/_toc.yaml index d45d3b54..fb775feb 100644 --- a/docs/en/tools/community_tools/_toc.yaml +++ b/docs/en/tools/community_tools/_toc.yaml @@ -4,6 +4,19 @@ sections: sections: - href: ./isocut/_toc.yaml - href: ./image_tailor/_toc.yaml + - label: GCC User Guide + sections: + - href: + upstream: https://gitee.com/openeuler/compiler-docs/blob/openEuler-24.03-LTS-SP2/docs/en/gcc/_toc.yaml + path: ./compiler + - label: Performance Optimization + sections: + - href: + upstream: https://gitee.com/openeuler/A-Tune/blob/master/docs/en/24.03_LTS_SP2/_toc.yaml + path: ./performance/system_optimization/atune + - href: + upstream: https://gitee.com/openeuler/oeAware-manager/blob/master/docs/en/2403_lts_sp2/_toc.yaml + path: ./performance/tuning_framework/oeaware - label: Migration sections: - href: ./migration_tools/_toc.yaml diff --git a/docs/en/tools/maintenance/_toc.yaml b/docs/en/tools/maintenance/_toc.yaml index 421eba7f..9f71880e 100644 --- a/docs/en/tools/maintenance/_toc.yaml +++ b/docs/en/tools/maintenance/_toc.yaml @@ -2,7 +2,9 @@ label: O&M sections: - label: Hot Patch Creation sections: - - href: ../../server/maintenance/syscare/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/syscare/blob/openEuler-24.03-LTS-SP2/docs/en/_toc.yaml + path: ./syscare - label: System Monitoring sections: - href: ../../server/maintenance/sysmonitor/_toc.yaml diff --git a/docs/zh/server/_toc.yaml b/docs/zh/server/_toc.yaml index d2464308..b5315ce1 100644 --- a/docs/zh/server/_toc.yaml +++ b/docs/zh/server/_toc.yaml @@ -21,7 +21,6 @@ sections: - href: upstream: https://gitee.com/openeuler/syscare/blob/openEuler-24.03-LTS-SP2/docs/zh/_toc.yaml path: ./syscare - - href: https://gitee.com/openeuler/syscare/blob/openEuler-24.03-LTS-SP2/docs/zh/_toc.yaml - href: ./maintenance/common_skills/_toc.yaml - href: ./maintenance/common_tools/_toc.yaml - href: ./maintenance/troubleshooting/_toc.yaml @@ -58,6 +57,7 @@ sections: sections: - href: upstream: https://gitee.com/openeuler/oeAware-manager/blob/master/docs/zh/2403_lts_sp2/_toc.yaml + path: ./performance/tuning_framework/oeaware - label: CPU调优 sections: - href: ./performance/cpu_optimization/sysboost/_toc.yaml @@ -72,10 +72,13 @@ sections: - href: ./development/application_dev/_toc.yaml - href: upstream: https://gitee.com/openeuler/compiler-docs/blob/openEuler-24.03-LTS-SP2/docs/zh/gcc/_toc.yaml + path: ./compiler - href: upstream: https://gitee.com/openeuler/compiler-docs/blob/openEuler-24.03-LTS-SP2/docs/zh/llvm/_toc.yaml + path: ./compiler - href: upstream: https://gitee.com/openeuler/compiler-docs/blob/openEuler-24.03-LTS-SP2/docs/zh/bisheng_autotuner/_toc.yaml + path: ./compiler - href: ./development/ai4c/_toc.yaml - href: ./development/fangtian/_toc.yaml - href: ./development/annc/_toc.yaml diff --git a/docs/zh/server/maintenance/syscare/_toc.yaml b/docs/zh/server/maintenance/syscare/_toc.yaml deleted file mode 100644 index e98293e7..00000000 --- a/docs/zh/server/maintenance/syscare/_toc.yaml +++ /dev/null @@ -1,12 +0,0 @@ -label: SysCare用户指南 -isManual: true -description: 提供在线的热补丁修复能力 -sections: - - label: 认识SysCare - href: ./syscare_introduction.md - - label: 安装SysCare - href: ./installing_syscare.md - - label: 使用SysCare - href: ./using_syscare.md - - label: 约束限制 - href: ./constraints.md diff --git a/docs/zh/server/maintenance/syscare/constraints.md b/docs/zh/server/maintenance/syscare/constraints.md deleted file mode 100644 index fe017060..00000000 --- a/docs/zh/server/maintenance/syscare/constraints.md +++ /dev/null @@ -1,35 +0,0 @@ -# 约束限制 - -## 版本约束 - - 操作系统版本:当前SysCare仅支持openEuler 22.03 LTS SP1版本。 - - 硬件架构:x86_64 / aarch64。 - -## 应用约束 - - 1. 当前对LINE宏的处理需要对每个软件进行适配,当前仅考虑适配redis、nginx,其他未适配的软件可能会造成patch的size过大。后续会考虑引入参数支持用户自行适配。 - 2. 用户态热补丁对于一个ELF文件,只支持一个补丁,如需修复多个bug,可将多个bugfix的patch文件同时传入补丁制作参数中,可制作出修复多个bug的热补丁。 - -## 语言约束 - - 原理上补丁制作在object file一级进行比较,与编程语言无关。 - 当前仅测试了C / C++语言。 - -## 其他约束 - - -前仅支持64位系统; - -当前仅支持ELF格式的热修复,暂不支持解释型语言; - -当前仅支持gcc / g++编译器; - -编译器需要支持`-gdwarf`、`-ffunction-sections`、`-fdata-sections`参数; - -仅支持DWARF格式的调试信息; - -暂不支持交叉编译; - -暂无法识别文件名相同,并且局部变量和函数名称完全一致的不同路径源码文件; - -暂不支持汇编修改(包括`.S`文件及内联汇编); - -不支持新增外部符号(动态库依赖); - -暂不支持对同一个二进制打多个补丁; - -暂不支持C & C++ 混合编译; - -暂不支持C++ exception修改; - -暂不支持group section: ```-g3```编译选项,特定编译优化选项,特定gcc plugin等; - -暂不支持新增ifunc: ```__attribute__((ifunc("foo")))```; - -暂不支持新增TLS变量: ```__thread int foo```。 diff --git a/docs/zh/server/maintenance/syscare/faqs_and_solutions.md b/docs/zh/server/maintenance/syscare/faqs_and_solutions.md deleted file mode 100644 index 899209ac..00000000 --- a/docs/zh/server/maintenance/syscare/faqs_and_solutions.md +++ /dev/null @@ -1,16 +0,0 @@ -# 常见问题与解决方法 - -## 问题1:报错:“alloc upatch module memory failed” - -- 原因:触发selinux约束。 -- 解决方法:按照报错建议命令操作,手动添加策略,由于不同情况添加策略不同,无法穷尽枚举,参考该issue: 。 - -## 问题2:报错: “patch file error 2” - -- 原因:补丁检测失败。 -- 解决方法:补丁无法正常打入,更换补丁。 - -## 问题3:报错: “build project error 11” - -- 原因:源码包编译失败。 -- 解决方法:尝试使用```rpmbuild -ra *.src.rpm```命令测试源码包是否可正常编译并满足其编译依赖。 diff --git "a/docs/zh/server/maintenance/syscare/figures/syscare\351\200\273\350\276\221\346\236\266\346\236\204.png" "b/docs/zh/server/maintenance/syscare/figures/syscare\351\200\273\350\276\221\346\236\266\346\236\204.png" deleted file mode 100644 index 4ed8b88331695d295351dd57bd570251c18d9502..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10313 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 DZH=0G diff --git a/docs/zh/server/maintenance/syscare/installing_syscare.md b/docs/zh/server/maintenance/syscare/installing_syscare.md deleted file mode 100644 index 22e081f5..00000000 --- a/docs/zh/server/maintenance/syscare/installing_syscare.md +++ /dev/null @@ -1,55 +0,0 @@ -# 安装SysCare - -本章介绍在openEuler中安装SysCare的方法。 - -## 安装SysCare核心组件 - -### 最低硬件要求 - -* 2 CPU (x86_64 / aarch64) -* 4GB RAM -* 100GB 硬盘 - -### 前提条件 - -安装openEuler 24.03 LTS SP1版本。 - -### 源码编译安装SysCare - -SysCare源码已经归档至代码仓,用户可自行下载并编译安装。 - -SysCare在编译前需要安装依赖包,相关命令如下: - -```shell -dnf install cmake make rust cargo kernel-devel elfutils-libelf-devel llvm clang bpftool libbpf libbpf-devel libbpf-static -``` - -示例如下: - -```shell -git clone https://gitee.com/openeuler/syscare.git -cd syscare -mkdir build -cd build -cmake -DCMAKE_INSTALL_PREFIX=/usr -DKERNEL_VERSION=$(uname -r) .. -make -make install -``` - -### repo安装SysCare - -如果repo源中有SysCare相关的包,则可以通过dnf或yum命令进行下载、安装。 - -相关命令如下: - -```shell -dnf/yum install syscare syscare-kmod syscare-build syscare-build-ebpf -``` - -### 卸载SysCare - -相关命令如下: - -```shell -dnf/yum erase syscare syscare-kmod syscare-build syscare-build-ebpf -``` diff --git a/docs/zh/server/maintenance/syscare/syscare_introduction.md b/docs/zh/server/maintenance/syscare/syscare_introduction.md deleted file mode 100644 index 3598b952..00000000 --- a/docs/zh/server/maintenance/syscare/syscare_introduction.md +++ /dev/null @@ -1,23 +0,0 @@ -# 认识SysCare - -## 简介 - - SysCare是一个操作系统热补丁服务,统一了操作系统内核态、用户态热补丁服务。为操作系统提供在线的热补丁修复能力,可以自动化、无感知地在线修复内核、用户态服务、动态库等系统基础组件bug和漏洞。 - -![img](./figures/syscare逻辑架构.png) - -## SysCare系统功能 - - SysCare提供补丁制作、补丁激活和补丁卸载等功能,支持内核热补丁、用户态热补丁制作和管理: - - 1. 一键式补丁制作能力 - 目前SysCare统一内核热补丁和用户态热补丁的制作流程,提供一键制作补丁能力,对用户屏蔽制作补丁细节及用户态、内核态补丁制作差异。 - - 2. 补丁安装、激活、卸载 - SysCare提供统一补丁管理接口,方便用户在补丁安装、激活、卸载查询使用。 - -## SysCare系统技术 - - 1. SysCare归一化补丁制作,对用户屏蔽补丁制作的细节及差异,提供统一的补丁管理工具,提升运维效率。 - 2. SysCare提供的用户态热补丁支持用户态多进程/多线程业务热修复,修复简单、提升运维效率;对进程/线程新拉起、重启均生效。 - 3. 热补丁lazy机制,克服`ptrace`缺陷(需全部退出内核调用),提升修复成功率。 diff --git a/docs/zh/server/maintenance/syscare/syscare_user_guide.md b/docs/zh/server/maintenance/syscare/syscare_user_guide.md deleted file mode 100644 index aaa3da55..00000000 --- a/docs/zh/server/maintenance/syscare/syscare_user_guide.md +++ /dev/null @@ -1,11 +0,0 @@ -# SysCare用户使用手册 - -本文档给出SysCare介绍,并给出基于openEuler的SysCare安装方法以及如何使用SysCare,让用户了解SysCare,并指导用户安装和使用SysCare。 - -## 读者对象 - -本文档主要适用于使用openEuler并需要使用热补丁的用户。用户需要具备以下经验和技能: - -* 熟悉Linux基本操作 -* 熟悉软件编译相关基本概念 -* 对rpm软件包以及其制作过程有一定了解 diff --git a/docs/zh/server/maintenance/syscare/using_syscare.md b/docs/zh/server/maintenance/syscare/using_syscare.md deleted file mode 100644 index b5a07c42..00000000 --- a/docs/zh/server/maintenance/syscare/using_syscare.md +++ /dev/null @@ -1,308 +0,0 @@ -# 使用SysCare - -本章介绍在openEuler中使用SysCare的方法。 - -## 前提条件 - -安装openEuler 24.03 LTS SP1版本。 - -## SysCare使用 - -本章节将介绍 SysCare 的使用方法,包含热补丁制作及热补丁管理。 - -### 热补丁制作 - -用户可以使用`sycare build`命令制作热补丁,该命令为纯CLI工具,提供从RPM包生成热补丁包的功能,热补丁包以RPM包的形式封装维护,支持制作内核热补丁及用户态热补丁。 - -#### 热补丁制作流程 - -1. 准备热补丁目标软件源码包(source rpm)及软件调试信息包(debuginfo rpm) - - 示例: - - ```shell - yumdownloader kernel --source --debuginfo - ``` - -2. 确认满足对应软件编译依赖 - - 示例: - - ```shell - dnf install make gcc bison flex openssl-devel dwarves python3-devel elfutils-libelf-devel - ``` - -3. 执行`syscare build`命令构建热补丁 - - 示例: - - ```shell - syscare build \ - --patch_name HP001 \ - --source kernel-5.10.0-60.66.0.91.oe2203.src.rpm \ - --debuginfo kernel-debuginfo-5.10.0-60.66.0.91.oe2203.x86_64.rpm \ - --output output \ - --patch 001-kernel-patch-test.patch - ``` - - 热补丁制作过程将会在由`--workdir`参数所指定的目录中(默认为当前目录)创建以`syscare-build`开头的临时文件夹,用于存放临时文件及编译日志。 - - 示例: - - ```shell - dev@openeuler-dev:[~]$ ls -l syscare-build.111602/ - total 100 - -rw-r--r--. 1 dev dev 92303 Nov 12 00:00 build.log - drwxr-xr-x. 6 dev dev 4096 Nov 12 00:00 package - drwxr-xr-x. 4 dev dev 4096 Nov 12 00:00 patch - ``` - - 编译日志将会生成在临时文件夹中,名称为`build.log`。 - - ```shell - dev@openeuler-dev:[~]$ cat syscare-build.111602/build.log | less - ``` - - 若补丁制作成功,且未指定`--skip-compiler-check`参数,将自动删除该临时文件夹。 - -4. 检查编译结果 - - 示例: - - ```shell - dev@openeuler-dev:[~]$ ls -l - total 189680 - -rw-r--r--. 1 dev dev 194218767 Nov 12 00:00 kernel-5.10.0-60.91.0.115.oe2203-HP001-1-1.x86_64.src.rpm - -rw-r--r--. 1 dev dev 10937 Nov 12 00:00 patch-kernel-5.10.0-60.91.0.115.oe2203-HP001-1-1.x86_64.rpm - ``` - - 其中 - - - `patch-kernel-5.10.0-60.91.0.115.oe2203-HP001-1-1.x86_64.rpm`为补丁包 - - `kernel-5.10.0-60.91.0.115.oe2203-HP001-1-1.x86_64.src.rpm`为二进制包 - -#### 热补丁制作工具 - -```shell -USAGE: - syscare build [OPTIONS] --patch_name --source --debuginfo ... --patch ... - -OPTIONS: - -n, --patch_name Patch name - --patch_arch Patch architecture [default: x86_64] - --patch_version Patch version [default: 1] - --patch_release Patch release [default: 1] - --patch_description Patch description [default: (none)] - -s, --source Source package - -d, --debuginfo ... Debuginfo package(s) - --workdir Working directory [default: .] - -o, --output Output directory [default: .] - -j, --jobs Parllel build jobs [default: 96] - --skip_compiler_check Skip compiler version check (not recommended) - --skip_cleanup Skip post-build cleanup - -v, --verbose Provide more detailed info - -p, --patch ... Patch file(s) - -h, --help Prints help information - -V, --version Prints version information -``` - -|名称|描述|类型|备注| -| ---- | ---- | ---- | ---- | -|-n, --patch_name ``|补丁名称|字符串|必选参数,需符合RPM命名规范| -|--patch_arch ``|补丁架构|字符串|默认为当前架构,需符合RPM命名规范| -|--patch_version ``|补丁版本号|字符串|默认值为1,需符合RPM命名规范| -|--patch_release ``|补丁release|数字|默认值为1,需符合RPM命名规范| -|--patch_description ``|补丁描述|字符串|默认为(none)| -|-s, --source ``|目标软件src.rpm源码包路径|字符串|必选参数,需为合法路径| -|-d, --debuginfo `...`|目标软件debuginfo包路径|字符串|必选参数,可指定多个,需为合法路径| -|--workdir ``|临时文件夹路径|字符串|默认为当前执行目录,需为合法路径| -|-o, --output ``|补丁输出文件夹|字符串|默认为当前执行目录,需为合法路径| -|-j, --jobs ``|并行编译线程数|数字|默认为cpu线程数| -|--skip-compiler-check|跳过编译器检查|标识|-| -|--skip-cleanup|跳过临时文件清理|标识|-| -|-v, --verbose|打印详细信息|标识|-| -|-p, --patch `...`|补丁文件路径|字符串|必选参数,可指定多个,需为合法路径| -|-h, --help|打印帮助信息|标识|-| -|-V, --version|打印版本信息|标识|-| - -示例: - -```shell -syscare build \ - --patch_name "HP001" \ - --patch_description "CVE-2021-32675 - When parsing an incoming Redis Standard Protocol (RESP) request, Redis allocates memory according to user-specified values which determine the number of elements (in the multi-bulk header) and size of each element (in the bulk header). An attacker delivering specially crafted requests over multiple connections can cause the server to allocate significant amount of memory. Because the same parsing mechanism is used to handle authentication requests, this vulnerability can also be exploited by unauthenticated users." \ - --source ./redis-6.2.5-1.src.rpm \ - --debuginfo ./redis-debuginfo-6.2.5-1.x86_64.rpm \ - --output ./output \ - --patch ./0001-Prevent-unauthenticated-client-from-easily-consuming.patch -``` - -#### 热补丁包命名规则 - -- 热补丁包:patch-目标软件全名-补丁名称-补丁版本-补丁release.架构名.rpm -- 热补丁源码包:目标软件全名-补丁名称-补丁版本-补丁release.架构名.src.rpm - -#### 输出 - -- 热补丁包:包含SysCare热补丁的二进制及元信息,用于热补丁安装。 -- 热补丁源码包:包含目标软件源码及新增补丁文件,用于新版本热补丁制作。 - -#### 错误定位 - -如果热补丁制作过程出现错误,请参考位于工作目录下名称为`build.log`的编译日志。 - -示例: - -```shell -Building patch, this may take a while -- Preparing build requirements -- Building patch -Error: UserPatchBuilder: Failed to build patch - -Caused by: - Process "/usr/libexec/syscare/upatch-build" exited unsuccessfully, exit_code=253 -For more information, please check "/home/dev/syscare-build.345549/build.log" -``` - -### 热补丁包管理 - -热补丁的安装以及卸载需要提供对应rpm包的名称,下面使用`$patch_package`来指代rpm包名称。 - -1. 热补丁包安装 - - ```shell - dnf install $patch_package.rpm - ``` - - 热补丁包安装后,热补丁相关文件存放在如下路径: - - /usr/lib/syscare/patches - -2. 热补丁包卸载 - - ```shell - dnf remove $patch_package - ``` - - 注:若热补丁处于`ACTIVED`以上状态时,热补丁将会被自动卸载。 - -### 热补丁管理 - -使用`syscare`命令可以对热补丁进行管理。 - -对单一热补丁操作前,用户需要提供一个字符串来搜索热补丁,后续使用`$patch_identifier`来指代这个字符串。 - -热补丁管理搜索规则为:目标包名/补丁名,其中“目标包名/”在补丁名唯一的情况下可以省略,也可使用UUID来进行管理。 - -*目标包名:待打入补丁的目标软件的软件包名称; -*补丁名:热补丁名称。 - -#### 补丁元信息 - -补丁元信息中包含以下字段: - -| 字段名称 | 字段描述 | -| ----------- | ---------------------- | -| uuid | 补丁ID | -| name | 补丁名称 | -| version | 补丁版本 | -| release | 补丁Release | -| arch | 补丁架构 | -| type | 补丁类型 | -| target | 目标软件名 | -| entities | 目标软件可执行文件名称 | -| digest | 补丁指纹 | -| license | 目标软件许可证 | -| description | 补丁描述 | -| patch| 补丁文件列表 | - -示例: - -```shell -sudo syscare info redis-6.2.5-1/HP002-1-1 -uuid: 980fa0d0-e753-447c-8494-01de595f35d0 -name: HP002 -version: 1 -release: 1 -arch: x86_64 -type: UserPatch -target: redis-6.2.5-1 -target_elf: redis-server, redis-benchmark, redis-cli -license: BSD and MIT -description: CVE-2021-32675 - When parsing an incoming Redis Standard Protocol (RESP) request, Redis allocates memory according to user-specified values which determine the number of elements (in the multi-bulk header) and size of each element (in the bulk header). An attacker delivering specially crafted requests over multiple connections can cause the server to allocate significant amount of memory. Because the same parsing mechanism is used to handle authentication requests, this vulnerability can also be exploited by unauthenticated users. -patch: -0001-Prevent-unauthenticated-client-from-easily-consuming.patch -``` - -#### 热补丁状态 - -SysCare将热补丁的生命周期分成如下状态: - -*未加载:`NOT-APPLIED` -*未激活:`DEACTIVED` -*已激活:`ACTIVED` -*已接受:`ACCEPTED` - -#### 补丁信息查询 - -1. 补丁基本信息查询: - - ```shell - syscare info $patch_identifier - ``` - -2. 补丁状态查询: - - ```shell - syscare status $patch_identifier - ``` - -3. 查询所有补丁状态: - - ```shell - syscare list - ``` - -#### 热补丁状态管理 - -1. 加载热补丁: - - ```shell - syscare apply $patch_identifier - ``` - -2. 卸载热补丁: - - ```shell - syscare remove $patch_identifier - ``` - -3. 激活热补丁: - - ```shell - syscare active $patch_identifier - ``` - -4. 反激活热补丁: - - ```shell - syscare deactive $patch_identifier - ``` - -5. 接受热补丁: - - ```shell - syscare accept $patch_identifier - ``` - -6. 保存所有补丁状态: - - ```shell - syscare save - ``` - -7. 恢复所有补丁状态: - - ```shell - syscare restore - ``` diff --git a/docs/zh/tools/community_tools/_toc.yaml b/docs/zh/tools/community_tools/_toc.yaml index 44feffbd..b59799cc 100644 --- a/docs/zh/tools/community_tools/_toc.yaml +++ b/docs/zh/tools/community_tools/_toc.yaml @@ -4,6 +4,19 @@ sections: sections: - href: ./isocut/_toc.yaml - href: ./image_tailor/_toc.yaml + - label: 编译 + sections: + - href: + upstream: https://gitee.com/openeuler/compiler-docs/blob/openEuler-24.03-LTS-SP2/docs/zh/gcc/_toc.yaml + path: ./compiler + - label: 性能优化 + sections: + - href: + upstream: https://gitee.com/openeuler/A-Tune/blob/master/docs/zh/24.03_LTS_SP2/_toc.yaml + path: ./performance/system_optimization/atune + - href: + upstream: https://gitee.com/openeuler/oeAware-manager/blob/master/docs/zh/2403_lts_sp2/_toc.yaml + path: ./performance/tuning_framework/oeaware - label: 迁移 sections: - href: ./migration_tools/_toc.yaml diff --git a/docs/zh/tools/maintenance/_toc.yaml b/docs/zh/tools/maintenance/_toc.yaml index 62401369..66839f3d 100644 --- a/docs/zh/tools/maintenance/_toc.yaml +++ b/docs/zh/tools/maintenance/_toc.yaml @@ -2,7 +2,9 @@ label: 系统运维 sections: - label: 热补丁制作 sections: - - href: ../../server/maintenance/syscare/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/syscare/blob/openEuler-24.03-LTS-SP2/docs/zh/_toc.yaml + path: ./syscare - label: 系统监控 sections: - href: ../../server/maintenance/sysmonitor/_toc.yaml -- Gitee