Best Python code snippet using lisa_python
dpdkutil.py
Source:dpdkutil.py  
...78    numa_nodes = node.tools[Lscpu].get_numa_node_count()79    request_pages_2mb = (nics_count - 1) * 1024 * numa_nodes80    request_pages_1gb = (nics_count - 1) * numa_nodes81    memfree_2mb = meminfo.get_free_memory_mb()82    memfree_1mb = meminfo.get_free_memory_gb()83    # request 2iGB memory per nic, 1 of 2MiB pages and 1 GiB page84    # check there is enough memory on the device first.85    # default to enough for one nic if not enough is available86    # this should be fine for tests on smaller SKUs87    if memfree_2mb < request_pages_2mb:88        node.log.debug(89            "WARNING: Not enough 2MB pages available for DPDK! "90            f"Requesting {request_pages_2mb} found {memfree_2mb} free. "91            "Test may fail if it cannot allocate memory."92        )93        request_pages_2mb = 102494    if memfree_1mb < (request_pages_1gb * 2):  # account for 2MB pages by doubling ask95        node.log.debug(96            "WARNING: Not enough 1GB pages available for DPDK! "...free.py
Source:free.py  
...58        # Return total swap size in Mebibytes59        return self._get_field_bytes_kib("Swap", "total") >> 1060    def get_free_memory_mb(self) -> int:61        return self._get_field_bytes_kib("Mem", "free") >> 1062    def get_free_memory_gb(self) -> int:63        return self._get_field_bytes_kib("Mem", "free") >> 2064    def get_total_memory(self) -> str:65        """66        Returns total memory in power of 1000 with unit67        Example: 20G68        """69        # Example70        #             total        used        free      shared  buff/cache   available71        # Mem:         9.0G        4.6G        751M         74M        3.7G        4.0G72        # Swap:         0B          0B          0B73        output = self.run("-h --si", shell=True).stdout74        group = find_group_in_lines(output, self._mem_pattern)75        total_memory = group["total"]76        return total_memory...memory.py
Source:memory.py  
...16class TotalMemory(object):17    """ Takes a snapshot of free host memory, then differences future values to figure out how much memory was taken up.18   Don't expect reliability if other people are on the same system. """19    def __init__(self):20        self.baseline = TotalMemory.get_free_memory_gb()21    @staticmethod22    def get_free_memory_gb():23        data = {}24        with open('/proc/meminfo', 'r') as f:25            for line in f:26                key, value = line.strip().split(':')27                if key == 'MemFree':28                    return float(value.strip().split(' ')[0]) / (1024 * 1024)29        return N.nan30    def __str__(self):31        current = TotalMemory.get_free_memory_gb()32        return '%.2f GB' % (self.baseline - current)33# Runs a function off in its own fork, lets it do its thing, yields its results, and destroys the fork to fully34# release memory35def run_and_reclaim_memory(func, *args, **kwds):36    pread, pwrite = os.pipe()37    pid = os.fork()38    if pid > 0:39        os.close(pwrite)40        with os.fdopen(pread, 'rb') as f:41            status, result = cPickle.load(f)42        os.waitpid(pid, 0)43        if status == 0:44            return result45        else:...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
