X7ROOT File Manager
Current Path:
/var/VMOptimizationToolsLinux
var
/
VMOptimizationToolsLinux
/
📁
..
📄
LinuxUpdate.XML
(645 B)
📄
SangforVMSTool
(3.11 KB)
📄
SangforVMSTool.service
(194 B)
📄
action_common.sh
(13.34 KB)
📄
busybox_cmd_ln.sh
(2.24 KB)
📄
collect_test_data.sh
(1.16 KB)
📄
common_config.sh
(278 B)
📄
data_test_tool.sh
(12.59 KB)
📄
debian_vmconfig.sh
(10.74 KB)
📄
guest_system_config.sh
(1.82 KB)
📄
log.sh
(1.36 KB)
📄
mod_test.sh
(3.69 KB)
📄
mod_test1.sh
(914 B)
📄
net_common.sh
(915 B)
📄
redhat_vmconfig.sh
(11.14 KB)
📄
sangfor_guest_datareport
(21.66 KB)
📄
sangfor_heartalive.sh
(2.37 KB)
📄
sangfor_module_update
(28.11 KB)
📄
sangfor_set_network.sh
(504 B)
📄
sangfor_sfping
(3.85 KB)
📄
sangfor_sshkey_gen
(1.29 KB)
📄
sangfor_update_ipc_callback
(5.29 KB)
📄
sangfor_vm_proxyd
(3.45 KB)
📄
sangfor_vm_proxyd_r
(4.4 KB)
📄
sangfor_vm_proxyd_w
(1.32 KB)
📄
sangfor_vmconfig
(2.4 KB)
📄
sangfor_vmconfig_common
(27.99 KB)
📄
sangfor_vmconfig_ipc_callback
(4.75 KB)
📄
sangfor_watchdog
(3.95 KB)
📄
sfping.c
(15.68 KB)
📄
sfping.pl
(6.15 KB)
📄
startall
(1.78 KB)
📄
stopall
(1.11 KB)
📄
suse_vmconfig.sh
(6.19 KB)
📁
tools_x64
📁
tools_x86
📄
uni_test.sh
(2.59 KB)
📄
update_common_func
(4.35 KB)
📄
update_common_header
(4.86 KB)
📄
update_config
(2.89 KB)
📄
update_install
(28.84 KB)
📄
virtio_nic_attr_set.sh
(2.42 KB)
📄
virtio_nic_compat.sh
(5.28 KB)
📄
vm_ip_recover.sh
(16.66 KB)
📄
vm_ipc.sh
(9.06 KB)
📄
vmconfig_common_func
(10.76 KB)
📄
vmconfig_common_header
(3.37 KB)
📄
vmconfig_config
(805 B)
📄
vmtools-install.sh
(31.16 KB)
📄
watch_test.sh
(313 B)
📄
watchdog.sh
(1.39 KB)
📁
x64
📁
x86
Editing: virtio_nic_attr_set.sh
#!/bin/bash LOG_FILE=/var/log/$(basename $0).log NET_CLASS=/sys/class/net NET_VIRTUAL=/sys/devices/virtual/net function set_multi_channel() { type -a ifconfig 1>/dev/null if [ "$?" -ne "0" ] then echo "ifconfig no exist, go out" >> "${LOG_FILE}" return 1 fi type -a ethtool 1>/dev/null if [ "$?" -ne "0" ] then echo "ethtool no exist, go out" >> "${LOG_FILE}" return 1 fi if [ ! -d ${NET_CLASS} ] then echo "${NET_CLASS} no exist or nic no exist, go out" >> "${LOG_FILE}" return 1 fi for devpath in ${NET_CLASS}/* do dev=`basename ${devpath}` [ -d ${NET_VIRTUAL}/${dev} ] && continue num=`ethtool -l ${dev} 2> /dev/null |grep 'Combined'|head -n1|cut -d':' -f2` [ -z "${num}" ] && continue ethtool -L ${dev} combined ${num} echo ">>>>${dev} combined ${num}<<<<" >> "${LOG_FILE}" done return 0 } PROC_INTERRUPT=/proc/interrupts PROC_IRQ=/proc/irq function set_virtio_nic_affinity() { if [ -n "$(pidof irqbalance)" ] then echo "irqbalance is in effect, try to stop it" >> "${LOG_FILE}" service irqbalance stop > /dev/null 2>&1 /etc/init.d/irqbalance stop > /dev/null 2>&1 /etc/init.d/irq_balancer stop > /dev/null 2>&1 kill -9 $(pidof irqbalance) > /dev/null 2>&1 fi if [ ! -e ${PROC_INTERRUPT} ] then echo "/proc/interrupts no exist, go out" >> "${LOG_FILE}" return 1 fi for entry in `cat ${PROC_INTERRUPT}|grep 'virtio[0-9]*-[inout]\{2,3\}put\.[0-9]*$'|tr -d ' '` do irq=${entry%%:*} index=${entry##*.} mask=$((1<<${index})) mask=$(printf %x ${mask}) echo ${mask} > ${PROC_IRQ}/${irq}/smp_affinity echo ${index} > ${PROC_IRQ}/${irq}/smp_affinity_list echo "___${irq} --- ${index} --- ${mask}___" >> "${LOG_FILE}" done index=-1 cpu_num=`cat /proc/cpuinfo | grep processor | wc -l` for entry in `cat ${PROC_INTERRUPT}|grep 'virtio[0-9]*-[inout]\{2,3\}put$'|tr -d ' '` do irq=${entry%%:*} index=`expr \( ${index} + 1 \) % ${cpu_num}` mask=$((1<<${index})) mask=$(printf %x ${mask}) echo ${mask} > ${PROC_IRQ}/${irq}/smp_affinity echo ${index} > ${PROC_IRQ}/${irq}/smp_affinity_list echo "___${irq} --- ${index} --- ${mask}___" >> "${LOG_FILE}" done return 0 } set_multi_channel set_virtio_nic_affinity exit 0
Upload File
Create Folder