def get_numa_status(numa_node_info, qemu_pid, debug=True): """ Get the qemu process memory use status and the cpu list in each node. :param numa_node_info: Host numa node information :type numa_node_info: NumaInfo object :param qemu_pid: process id of qemu :type numa_node_info: string :param debug: Print the debug info or not :type debug: bool :return: memory and cpu list in each node :rtype: tuple """ node_list = numa_node_info.online_nodes qemu_memory = [] qemu_cpu = [] cpus = utils_misc.get_pid_cpu(qemu_pid) for node_id in node_list: qemu_memory_status = utils_memory.read_from_numa_maps( qemu_pid, "N%d" % node_id) memory = sum([int(_) for _ in qemu_memory_status.values()]) qemu_memory.append(memory) cpu = [_ for _ in cpus if _ in numa_node_info.nodes[node_id].cpus] qemu_cpu.append(cpu) if debug: logging.debug("qemu-kvm process using %s pages and cpu %s in " "node %s" % (memory, " ".join(cpu), node_id)) return (qemu_memory, qemu_cpu)
def get_numa_status(numa_node_info, qemu_pid, debug=True): """ Get the qemu process memory use status and the cpu list in each node. :param numa_node_info: Host numa node information :type numa_node_info: NumaInfo object :param qemu_pid: process id of qemu :type numa_node_info: string :param debug: Print the debug info or not :type debug: bool :return: memory and cpu list in each node :rtype: tuple """ node_list = numa_node_info.online_nodes qemu_memory = [] qemu_cpu = [] cpus = utils_misc.get_pid_cpu(qemu_pid) for node_id in node_list: qemu_memory_status = utils_memory.read_from_numa_maps(qemu_pid, "N%d" % node_id) memory = sum([int(_) for _ in qemu_memory_status.values()]) qemu_memory.append(memory) cpu = [_ for _ in cpus if _ in numa_node_info.nodes[node_id].cpus] qemu_cpu.append(cpu) if debug: logging.debug("qemu-kvm process using %s pages and cpu %s in " "node %s" % (memory, " ".join(cpu), node_id)) return (qemu_memory, qemu_cpu)