!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache. PHP/7.3.33 

uname -a: Linux acloudg.aryanict.com 4.18.0-513.9.1.lve.el8.x86_64 #1 SMP Mon Dec 4 15:01:22 UTC
2023 x86_64
 

uid=1095(katebhospital) gid=1098(katebhospital) groups=1098(katebhospital) 

Safe-mode: OFF (not secure)

/usr/lib/python3.6/site-packages/tuned/plugins/   drwxr-xr-x
Free 293.97 GB of 429.69 GB (68.41%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     plugin_irqbalance.py (3.47 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
from . import base
from .decorators import command_custom
from tuned import consts
import tuned.logs
import errno
import perf
import re

log = tuned.logs.get()

class IrqbalancePlugin(base.Plugin):
    """
    `irqbalance`::
    
    Plug-in for irqbalance settings management. The plug-in
    configures CPUs which should be skipped when rebalancing IRQs in
    `/etc/sysconfig/irqbalance`. It then restarts irqbalance if and
    only if it was previously running.
    +
    The banned/skipped CPUs are specified as a CPU list via the
    [option]`banned_cpus` option.
    +
    .Skip CPUs 2,4 and 9-13 when rebalancing IRQs
    ====
    ----
    [irqbalance]
    banned_cpus=2,4,9-13
    ----
    ====
    """

    def __init__(self, *args, **kwargs):
        super(IrqbalancePlugin, self).__init__(*args, **kwargs)
        self._cpus = perf.cpu_map()

    def _instance_init(self, instance):
        instance._has_dynamic_tuning = False
        instance._has_static_tuning = True

    def _instance_cleanup(self, instance):
        pass

    @classmethod
    def _get_config_options(cls):
        return {
            "banned_cpus": None,
        }

    def _read_irqbalance_sysconfig(self):
        try:
            with open(consts.IRQBALANCE_SYSCONFIG_FILE, "r") as f:
                return f.read()
        except IOError as e:
            if e.errno == errno.ENOENT:
                log.warn("irqbalance sysconfig file is missing. Is irqbalance installed?")
            else:
                log.error("Failed to read irqbalance sysconfig file: %s" % e)
            return None

    def _write_irqbalance_sysconfig(self, content):
        try:
            with open(consts.IRQBALANCE_SYSCONFIG_FILE, "w") as f:
                f.write(content)
            return True
        except IOError as e:
            log.error("Failed to write irqbalance sysconfig file: %s" % e)
            return False

    def _write_banned_cpus(self, sysconfig, banned_cpumask):
        return sysconfig + "IRQBALANCE_BANNED_CPUS=%s\n" % banned_cpumask

    def _clear_banned_cpus(self, sysconfig):
        lines = []
        for line in sysconfig.split("\n"):
            if not re.match(r"\s*IRQBALANCE_BANNED_CPUS=", line):
                lines.append(line)
        return "\n".join(lines)

    def _restart_irqbalance(self):
        # Exit code 5 means unit not found (see 'EXIT_NOTINSTALLED' in
        # systemd.exec(5))
        retcode, out = self._cmd.execute(
            ["systemctl", "try-restart", "irqbalance"],
            no_errors=[5])
        if retcode != 0:
            log.warn("Failed to restart irqbalance. Is it installed?")

    def _set_banned_cpus(self, banned_cpumask):
        content = self._read_irqbalance_sysconfig()
        if content is None:
            return
        content = self._clear_banned_cpus(content)
        content = self._write_banned_cpus(content, banned_cpumask)
        if self._write_irqbalance_sysconfig(content):
            self._restart_irqbalance()

    def _restore_banned_cpus(self):
        content = self._read_irqbalance_sysconfig()
        if content is None:
            return
        content = self._clear_banned_cpus(content)
        if self._write_irqbalance_sysconfig(content):
            self._restart_irqbalance()

    @command_custom("banned_cpus", per_device=False)
    def _banned_cpus(self, enabling, value, verify, ignore_missing):
        banned_cpumask = None
        if value is not None:
            banned = set(self._cmd.cpulist_unpack(value))
            present = set(self._cpus)
            if banned.issubset(present):
                banned_cpumask = self._cmd.cpulist2hex(list(banned))
            else:
                str_cpus = ",".join([str(x) for x in self._cpus])
                log.error("Invalid banned_cpus specified, '%s' does not match available cores '%s'"
                      % (value, str_cpus))

        if (enabling or verify) and banned_cpumask is None:
            return None
        if verify:
            # Verification is currently not supported
            return None
        elif enabling:
            self._set_banned_cpus(banned_cpumask)
        else:
            self._restore_banned_cpus()

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by KaizenLouie | C99Shell Github | Generation time: 0.0032 ]--