MOON
Server: Apache
System: Linux s5.yayogua.com.py 6.12.0-124.55.3.el10_1.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:54:02 EDT 2026 x86_64
User: sanbercountryclu (1012)
PHP: 8.2.33
Disabled: NONE
Upload Files
File: //lib/python3.12/site-packages/tuned/plugins/__pycache__/plugin_sysctl.cpython-312.opt-1.pyc
�

�]�i,����ddlZddlZddlmZddl�ddlZddl�ddlm	Z	ddl
mZddlZddl
Z
ejj�ZddgZdd	gZGd
�dej&�Zy)�N�)�base)�*)�commands�base_reachable_time�retrans_timez
/run/sysctl.dz
/etc/sysctl.dc���eZdZdZ�fd�Zd�Zd�Zd�Zd�Ze	jfd�Zd�Zd	�Z
d
�Zd�Zd�Zd
�Zdd�Z�xZS)�SysctlPlugina5
	Sets various kernel parameters at runtime.

	This plug-in is used for applying custom `sysctl` settings and should
	only be used to change system settings that are not covered by other
	*TuneD* plug-ins. If the settings are covered by other *TuneD* plug-ins,
	use those plug-ins instead.

	The syntax for this plug-in is
	`_key_=_value_`, where
	`_key_` is the same as the key name provided by the
	`sysctl` utility.

	.Adjusting the kernel runtime kernel.sched_min_granularity_ns value
	====
	----
	[sysctl]
	kernel.sched_min_granularity_ns=3000000
	----
	====
	c�X��tt|�
|i|��d|_t	�|_y)NT)�superr
�__init__�_has_dynamic_optionsr�_cmd)�self�args�kwargs�	__class__s   ��@/usr/lib/python3.12/site-packages/tuned/plugins/plugin_sysctl.pyr
zSysctlPlugin.__init__)s(�����d�$�d�5�f�5�"�$���j�$�)�c�z�d|_d|_|j|j�}|jj|i�|_t|j�dkDrHtjd�|j|�i|_|jj|�|j|_
y)NFTrz0recovering old sysctl settings from previous run)�_has_dynamic_tuning�_has_static_tuning�_storage_key�name�_storage�get�_sysctl_original�len�log�info�_instance_unapply_static�unset�options�_sysctl�r�instance�storage_keys   r�_instance_initzSysctlPlugin._instance_init.s���!&�(�� $�(���!�!�(�-�-�0�+�"�m�m�/�/��R�@�(����	"�	"�#�a�'��8�8�>�?�� � ��*�!�8���=�=���{�#��%�%�(�rc�p�|j|j�}|jj|�y�N)rrrr"r%s   r�_instance_cleanupzSysctlPlugin._instance_cleanup>s(���!�!�(�-�-�0�+��-�-���k�"rc���t|jj��D]�\}}|j|�}|�tjd|z��2|jj|jj|��}|j||�}|��{||j|<|j||���|j|j�}|jj!||j�|j"j%t&j(t&j*�r1tj-d�|j/|j�yy)NzDsysctl option %s will not be set, failed to read the original value.zreapplying system sysctl)�listr$�items�_read_sysctlr�error�
_variables�expandr�unquote�_process_assignment_modifiersr�
_write_sysctlrrr�set�_global_cfg�get_bool�consts�CFG_REAPPLY_SYSCTL�CFG_DEF_REAPPLY_SYSCTLr �_apply_system_sysctl)rr&�option�value�original_value�	new_valuer's       r�_instance_apply_staticz#SysctlPlugin._instance_apply_staticBs-���H�,�,�2�2�4�5�m�f�e��%�%�f�-�>����I�I�T�������&�&�
�i�i����� �I��2�2���!�I���)7�X���v�&�	����	�*�6��!�!�(�-�-�0�+��-�-���K��!:�!:�;�	�����v�8�8�&�:W�:W�X��8�8�&�'����X�-�-�.�Yrc�z�d}d}t|jj��D]�\}}|j|�}|j	|j
j
|�|�}|��E|j||jj|�|jj|�|�dk(s��d}��|S)NTF)
r-r$r.r/r4r1r2�
_verify_valuer�	remove_ws)rr&�ignore_missing�devices�retr=r>�curr_vals        r�_instance_verify_staticz$SysctlPlugin._instance_verify_staticXs����#��.��H�,�,�2�2�4�5�m�f�e�����'�8��-�-�d�o�o�.D�.D�U�.K�X�V�5������&�$�)�)�"5�"5�e�"<�d�i�i�>Q�>Q�RZ�>[�]k�l�pu�u��S�6�

�*rc�~�t|jj��D]\}}|j||��yr*)r-rr.r5)rr&�rollbackr=r>s     rr!z%SysctlPlugin._instance_unapply_staticds4���H�5�5�;�;�=�>�m�f�e����f�e�$�?rc��|jjtjtj�}|D]}tj
||�s�yy)z7Check if a sysctl option matches any exclusion pattern.TF)r7�get_listr9�CFG_REAPPLY_SYSCTL_EXCLUDE�CFG_DEF_REAPPLY_SYSCTL_EXCLUDE�fnmatch)rr=�exclude_list�patterns    r�_is_sysctl_excludedz SysctlPlugin._is_sysctl_excludedhsL���!�!�*�*�	�$�$�	�(�(��,��g�
�o�o�f�g�&���
rc�J�i}tD];}	tj|�}|D]}|j	d�s�||vs�|||<� �=t|j
��D] }||}|�d|��}|j||��"|jd|�y#t$rY��wxYw)Nz.conf�/z/etc/sysctl.conf)�SYSCTL_CONFIG_DIRS�os�listdir�OSError�endswith�sorted�keys�_apply_sysctl_config_file)r�instance_sysctl�files�d�flist�fname�paths       rr<z!SysctlPlugin._apply_system_sysctlss���
�%��a�
��J�J�q�M�E��u��>�>�'�"�
��E���U�5�\�	���e�j�j�l�#�e��U�|�1���
�4��!�!�$��8�$�� � �!3�_�E���
��
�s�B�	B"�!B"c	��tjd|z�	t|d�5}t|d�D]\}}|j	||||��	ddd�tjd|z�y#1swY�"xYw#t
tf$rP}|jtjk7r)tjd|�dt|����Yd}~yYd}~yd}~wwxYw)Nz%Applying sysctl settings from file %s�rrz.Finished applying sysctl settings from file %sz(Error reading sysctl settings from file z: )r�debug�open�	enumerate�_apply_sysctl_config_linerY�IOError�errno�ENOENTr0�str)rrcr^�f�lineno�line�es       rr]z&SysctlPlugin._apply_sysctl_config_file�s����)�)�3�d�:�;�	��T�3��1�!�!�Q�����	�#�#�D�&�$��H�(�	��9�9�
=���
�	���
�7�	���g�g������I�I�	
�s�1�v�������s/�A=�)A1� A=�1A:�6A=�=C�AC�Cc	��|j�}t|�dk(s|ddk(s|ddk(ry|jdd�}t|�dk7rtj	d||fz�y|\}}|j�}t|�dk(rtj	d||fz�y|j�}|j|�rtj
d|�d	|�d
��y||vrB|jj||�}||k7rtjd|�d	|�d|�d
��|j||d
��y)Nr�#�;�=r�z Syntax error in file %s, line %dz$Skipping excluded sysctl parameter 'z' from '�'zOverriding sysctl parameter 'z' to 'T)rE)�stripr�splitrr0rSrfr1r2r r5)	rrcrorpr^�tmpr=r>�instance_values	         rriz&SysctlPlugin._apply_sysctl_config_line�s.��	
����$���Y�!�^�t�A�w�#�~��a��C��	��
�
�3���#���X��]��9�9�
/��f�~���	��-�&�%��<�<�>�&���[�A���9�9�
/��f�~���	�
�+�+�-�%�	���f�%��9�9�����	�����O�O�*�*�?�6�+B�C�>�����H�H�	���(�)����V�U�T��:rc�B�d|jj|dd�zS)Nz/proc/sys/%sz./z/.)r�tr)rr=s  r�_get_sysctl_pathzSysctlPlugin._get_sysctl_path�s ��

�$�)�)�,�,�v�t�T�:�	:�:rc���|j|�}|jj|d��}|�y|j�}t	|jd��dkDrtjd|z�y|S)N)�err_ret�
rzGFailed to read sysctl parameter '%s', multi-line values are unsupported)r~r�	read_filerxrryrr0)rr=rc�contents    rr/zSysctlPlugin._read_sysctl�so��	
�	�	�v�	&�$��I�I����d��3�'��_�
��M�M�O�'�����t�	���!��9�9�
V�Y_�
_�`�
�	�.rc��|j|�}tjj|�tvrt
j
d|z�y|jj|||rtjgd��Sdd��S)Nz+Refusing to set deprecated sysctl option %sFT)�no_error�ignore_same)r~rWrc�basename�DEPRECATED_SYSCTL_OPTIONSrr0r�
write_to_filerkrl)rr=r>rErcs     rr5zSysctlPlugin._write_sysctl�su��	
�	�	�v�	&�$��W�W���d��8�8��9�9�
:�V�
C�D�
�	
���	 �	 ��u�����~�pt�	 �	u�u�]b�pt�	 �	u�ur)F)�__name__�
__module__�__qualname__�__doc__r
r(r+rArIr9�
ROLLBACK_SOFTr!rSr<r]rir~r/r5�
__classcell__)rs@rr
r
sW����,�
&� #�/�,

�:@�9M�9M�%�	�F�&�;�8;�	�vrr
)rP�re�r�
decorators�
tuned.logs�tuned�
subprocess�tuned.utils.commandsr�tuned.constsr9rkrW�logsrrr�rV�Pluginr
�rr�<module>r�s`���	�����)���	��j�j�n�n���3�^�E��&����tv�4�;�;�tvr