如果做局域网影音网站中企动力网站后台

张小明 2026/1/19 22:03:26
如果做局域网影音网站,中企动力网站后台,怎么才服务器上做网站,杭州网站建设专注乐云seo网卡作为 ssh 连接的网卡。#xff08;2#xff09;修改网卡配置信息。找到虚拟机安装目录下的.vmx文件#xff0c;内容如下#xff1a;展开代码语言#xff1a;Bash自动换行AI代码解释.encoding GBK config.version 8 virtualHW.version 2修改网卡配置信息。找到虚拟机安装目录下的.vmx文件内容如下展开代码语言Bash自动换行AI代码解释.encoding GBK config.version 8 virtualHW.version 16 mks.enable3d TRUE pciBridge0.present TRUE pciBridge4.present TRUE pciBridge4.virtualDev pcieRootPort pciBridge4.functions 8 pciBridge5.present TRUE pciBridge5.virtualDev pcieRootPort pciBridge5.functions 8 pciBridge6.present TRUE pciBridge6.virtualDev pcieRootPort pciBridge6.functions 8 pciBridge7.present TRUE pciBridge7.virtualDev pcieRootPort pciBridge7.functions 8 vmci0.present TRUE hpet0.present TRUE nvram Ubuntu64bit1604.nvram virtualHW.productCompatibility hosted powerType.powerOff soft powerType.powerOn soft powerType.suspend soft powerType.reset soft displayName Ubuntu64bit1604 usb.vbluetooth.startConnected TRUE guestOS ubuntu-64 tools.syncTime FALSE sound.autoDetect TRUE sound.fileName -1 sound.present TRUE numvcpus 4 cpuid.coresPerSocket 2 vcpu.hotadd TRUE memsize 8192 mem.hotadd TRUE scsi0.virtualDev lsilogic scsi0.present TRUE sata0.present TRUE scsi0:0.fileName Ubuntu64bit1604.vmdk scsi0:0.present TRUE sata0:1.deviceType cdrom-image sata0:1.fileName G:\迅雷下载\ubuntu-16.04.7-desktop-amd64.iso sata0:1.present TRUE usb.present TRUE ehci.present TRUE svga.graphicsMemoryKB 786432 ethernet0.addressType generated ethernet0.virtualDev e1000 serial0.fileType thinprint serial0.fileName thinprint ethernet0.present TRUE serial0.present TRUE extendedConfigFile Ubuntu64bit1604.vmxf floppy0.present FALSE uuid.bios 56 4d fd 84 0c 40 c1 bb-af 47 c0 00 9f b9 71 74 uuid.location 56 4d fd 84 0c 40 c1 bb-af 47 c0 00 9f b9 71 74 scsi0:0.redo pciBridge0.pciSlotNumber 17 pciBridge4.pciSlotNumber 21 pciBridge5.pciSlotNumber 22 pciBridge6.pciSlotNumber 23 pciBridge7.pciSlotNumber 24 scsi0.pciSlotNumber 16 usb.pciSlotNumber 32 ethernet0.pciSlotNumber 33 sound.pciSlotNumber 34 ehci.pciSlotNumber 35 vmci0.pciSlotNumber 36 sata0.pciSlotNumber 37 svga.vramSize 268435456 vmotion.checkpointFBSize 4194304 vmotion.checkpointSVGAPrimarySize 268435456 ethernet0.generatedAddress 00:0C:29:B9:71:74 ethernet0.generatedAddressOffset 0 vmci0.id -1615236748 monitor.phys_bits_used 43 cleanShutdown TRUE softPowerOff FALSE usb:1.speed 2 usb:1.present TRUE usb:1.deviceType hub usb:1.port 1 usb:1.parent -1 svga.guestBackedPrimaryAware TRUE tools.remindInstall FALSE gui.lastPoweredViewMode fullscreen toolsInstallManager.updateCounter 2 toolsInstallManager.lastInstallError 0 sata0:1.startConnected TRUE isolation.tools.hgfs.disable FALSE sharedFolder0.present TRUE sharedFolder0.enabled TRUE sharedFolder0.readAccess TRUE sharedFolder0.writeAccess TRUE sharedFolder0.hostPath G:\share sharedFolder0.guestName share sharedFolder0.expiration never sharedFolder.maxNum 1 usb:0.present TRUE usb:0.deviceType hid usb:0.port 0 usb:0.parent -1 ethernet1.connectionType nat ethernet1.addressType generated ethernet1.virtualDev e1000 ethernet1.present TRUE将ethernet0.virtualDev由 e1000 修改 vmxnet3因为 vmware 的 vmxnet3 支持多队列网卡同时添加一行thernet0.wakeOnPcktRcv “TRUE”代码语言Bash自动换行AI代码解释ethernet0.virtualDev vmxnet3 ethernet0.wakeOnPcktRcv TRUE重启虚拟机 查看网卡, 成功被被配置为vmxnet3代码语言Bash自动换行AI代码解释ethtool -i eth03查看是否支持多队列网卡代码语言Bash自动换行AI代码解释cat /proc/interrupts展开代码语言Bash自动换行AI代码解释... 55: 0 0 0 0 PCI-MSI 407552-edge PCIe PME, pciehp 56: 1181 0 0 12784 PCI-MSI 1572864-edge eth0-rxtx-0 57: 0 193 0 22 PCI-MSI 1572865-edge eth0-rxtx-1 58: 41 36 0 0 PCI-MSI 1572866-edge eth0-rxtx-2 59: 0 5 13 0 PCI-MSI 1572867-edge eth0-rxtx-3 60: 0 0 0 0 PCI-MSI 1572868-edge eth0-event-4 61: 0 163 151 4 PCI-MSI 1130496-edge ahci[0000:02:05.0] ...这里虚拟机有多少个CPU就有多少个队列。4修改 ubuntu 系统的启动参数。代码语言Bash自动换行AI代码解释sudo vim /etc/default/grub主要是在GRUB_CMDLINE_LINUX添加如下内容代码语言Bash自动换行AI代码解释default_hugepages1G hugepagesz2M hugepages1024如果是物理主机则添加的是如下内容代码语言Bash自动换行AI代码解释# 物理机: default_hugepages1G hugepagesz1G hugepages20 isolcpus0-7示例展开代码语言Bash自动换行AI代码解释# If you change this file, run update-grub afterwards to update # /boot/grub/grub.cfg. # For full documentation of the options in this file, see: # info -f grub -n Simple configuration GRUB_DEFAULT0 GRUB_HIDDEN_TIMEOUT0 GRUB_HIDDEN_TIMEOUT_QUIETtrue GRUB_TIMEOUT10 GRUB_DISTRIBUTORlsb_release -i -s 2 /dev/null || echo Debian GRUB_CMDLINE_LINUX_DEFAULTquiet splash GRUB_CMDLINE_LINUXnet.ifnames0 biosdevname0 default_hugepages1G hugepagesz2M hugepages1024修改完之后需要重启。编译DPDK1下载 dpdk随便一个版本不同版本直接子系统接口会有差异这里下载的是19.08.2版本代码语言Bash自动换行AI代码解释wget https://fast.dpdk.org/rel/dpdk-19.08.2.tar.xz2解压源码代码语言Bash自动换行AI代码解释tar -xvf dpdk-19.08.2.tar.xz cd dpdk-19.08.2 ls代码语言Bash自动换行AI代码解释app buildtools config devtools doc drivers examples GNUmakefile kernel lib license MAINTAINERS Makefile meson.build meson_options.txt mk README usertools VERSION3安装依赖库代码语言Bash自动换行AI代码解释sudo apt-get install numactl sudo apt-get install libnuma-dev sudo apt-get install net-tools4通过 usertools/dpdk-setup.sh64 位系统选择 39编译完会多出 x86_64-native-linux-gcc 的文件夹。展开代码语言Bash自动换行AI代码解释------------------------------------------------------------------------------ RTE_SDK exported as /home/fly/workspace/dpdk-stable-19.08.2 ------------------------------------------------------------------------------ ---------------------------------------------------------- Step 1: Select the DPDK environment to build ---------------------------------------------------------- [1] arm64-armada-linuxapp-gcc [2] arm64-armada-linux-gcc [3] arm64-armv8a-linuxapp-clang [4] arm64-armv8a-linuxapp-gcc [5] arm64-armv8a-linux-clang [6] arm64-armv8a-linux-gcc [7] arm64-bluefield-linuxapp-gcc [8] arm64-bluefield-linux-gcc [9] arm64-dpaa2-linuxapp-gcc [10] arm64-dpaa2-linux-gcc [11] arm64-dpaa-linuxapp-gcc [12] arm64-dpaa-linux-gcc [13] arm64-octeontx2-linuxapp-gcc [14] arm64-octeontx2-linux-gcc [15] arm64-stingray-linuxapp-gcc [16] arm64-stingray-linux-gcc [17] arm64-thunderx2-linuxapp-gcc [18] arm64-thunderx2-linux-gcc [19] arm64-thunderx-linuxapp-gcc [20] arm64-thunderx-linux-gcc [21] arm64-xgene1-linuxapp-gcc [22] arm64-xgene1-linux-gcc [23] arm-armv7a-linuxapp-gcc [24] arm-armv7a-linux-gcc [25] i686-native-linuxapp-gcc [26] i686-native-linuxapp-icc [27] i686-native-linux-gcc [28] i686-native-linux-icc [29] ppc_64-power8-linuxapp-gcc [30] ppc_64-power8-linux-gcc [31] x86_64-native-bsdapp-clang [32] x86_64-native-bsdapp-gcc [33] x86_64-native-freebsd-clang [34] x86_64-native-freebsd-gcc [35] x86_64-native-linuxapp-clang [36] x86_64-native-linuxapp-gcc [37] x86_64-native-linuxapp-icc [38] x86_64-native-linux-clang [39] x86_64-native-linux-gcc [40] x86_64-native-linux-icc [41] x86_x32-native-linuxapp-gcc [42] x86_x32-native-linux-gcc ---------------------------------------------------------- Step 2: Setup linux environment ---------------------------------------------------------- [43] Insert IGB UIO module [44] Insert VFIO module [45] Insert KNI module [46] Setup hugepage mappings for non-NUMA systems [47] Setup hugepage mappings for NUMA systems [48] Display current Ethernet/Baseband/Crypto device settings [49] Bind Ethernet/Baseband/Crypto device to IGB UIO module [50] Bind Ethernet/Baseband/Crypto device to VFIO module [51] Setup VFIO permissions ---------------------------------------------------------- Step 3: Run test application for linux environment ---------------------------------------------------------- [52] Run test application ($RTE_TARGET/app/test) [53] Run testpmd application in interactive mode ($RTE_TARGET/app/testpmd) ---------------------------------------------------------- Step 4: Other tools ---------------------------------------------------------- [54] List hugepage info from /proc/meminfo ---------------------------------------------------------- Step 5: Uninstall and system cleanup ---------------------------------------------------------- [55] Unbind devices from IGB UIO or VFIO driver [56] Remove IGB UIO module [57] Remove VFIO module [58] Remove KNI module [59] Remove hugepage mappings [60] Exit Script5导出dpdk环境变量。代码语言Bash自动换行AI代码解释cd dpdk路径 # 如 dpdk/dpdk-stable-19.08.2/ # 切换root权限 sudo su export RTE_SDKdpdk路径 export RTE_TARGETx86_64-native-linux-gcc6配置dpdk。代码语言Bash自动换行AI代码解释./usertools/dpdk-setup.sh依次执行43加载DPDK UIO 模块即插入driver44加载VFIO模块也是一种driver45加载KNI模块将一些数据写回内核46设置巨页可以不需要频繁页交换51247设置巨页可51249执行之前需要eth0 down掉执行sudo ifconfig eth0 down使绑定dpdkpci地址对应eth0的如0000:03:00.060退出二、DPDK工作原理网络上所有的数据传输都要经过网卡网卡将模拟信号转换为数字信号也就是将物理层信号转换为数据链路层信号。这个过程会进行两次拷贝第一次是从网卡拷贝到NIC用于组织sk_buffer第二次是从内核空间拷贝到用户空间应用程序处理数据。这些拷贝需要CPU的参与会占用CPU资源。DPDK的作用是把网卡是数据映射到内存。而且DPDK提供巨页机制将原来的4K每页提升到2M、1G的巨页。控制多队列网卡提高性能在启动线程时做了CPU亲缘性。DPDK提高一种KNIKernel Network Interface方式将不关注的数据写回内核让内核处理。DPDK能用来做一下应用路由器。网络协议栈的基石部分。防火墙。VPN。DPDK的优势有专门的公司维护有保障。问题能被快速解决迭代出新的版本。文档齐全。三、DPDK实践之处理UDP数据dpdk初始化失败的情况内存不够比如主机只有4G内存、没有设置hugepage、没有bind pci。mbuf类似内核的sk_buffer。参数初始化。创建内存池。配置网口。设置网口队列的使用dkdp接收数据队列、dkdp发送数据队列。开始启动。混杂模式disable–只接收目的IP地址是本机的enable–网络的所有广播包都接收。开始接收数据。示例代码dpdk_udp.c展开代码语言C自动换行AI代码解释#include rte_eal.h #include rte_ethdev.h #include rte_mbuf.h #define MBUF_NUM 1024 #define MBUF_SIZE 32 int gDpdkPortId0; int main(int argc,char **argv) { // if(rte_eal_init(argc,argv)0) { rte_exit(EXIT_FAILURE,Init Error\n); } // per_lcore_socket_id struct rte_mempool *mbuf_poolrte_pktmbuf_pool_create(mbufpool,MBUF_NUM,0,0,RTE_MBUF_DEFAULT_BUF_SIZE,rte_socket_id()); if(!mbuf_pool) { rte_exit(EXIT_FAILURE,mbuf_pool Error\n); } uint16_t nb_rx_queues 1; uint16_t nb_tx_queues 0; const struct rte_eth_conf port_conf_default { .rxmode {.max_rx_pkt_len RTE_ETHER_MAX_LEN } }; rte_eth_dev_configure(gDpdkPortId,nb_rx_queues,nb_tx_queues,port_conf_default); rte_eth_rx_queue_setup(gDpdkPortId,0,128,rte_eth_dev_socket_id(gDpdkPortId),NULL,mbuf_pool); //rte_eth_tx_queue_setup(...) rte_eth_dev_start(gDpdkPortId); rte_eth_promiscuous_enable(gDpdkPortId); while(1) { struct rte_mbuf *mbuf[MBUF_SIZE]; unsigned num_recvd rte_eth_rx_burst(gDpdkPortId, 0, mbuf, MBUF_SIZE); if (num_recvd MBUF_SIZE) { rte_exit(EXIT_FAILURE, Error receiving from eth\n); } //printf(recv pkt\n); unsigned i 0; for (i 0;i num_recvd;i ) { // 将mbufs数据包中的以太网头提取出来 struct rte_ether_hdr *ehdr rte_pktmbuf_mtod(mbuf[i], struct rte_ether_hdr*); //将一个16位的值从CPU顺序转换为大端序 if (ehdr-ether_type ! rte_cpu_to_be_16(RTE_ETHER_TYPE_IPV4)) { continue; } // 将mbufs数据包中的ipv4头提取出来 struct rte_ipv4_hdr *iphdr rte_pktmbuf_mtod_offset(mbuf[i], struct rte_ipv4_hdr *, sizeof(struct rte_ether_hdr)); if (iphdr-next_proto_id IPPROTO_UDP) { struct rte_udp_hdr *udphdr (struct rte_udp_hdr *)(iphdr 1); uint16_t length ntohs(udphdr-dgram_len); *((char*)udphdr length -1) \0; printf(udp:%s\n,(char *)(udphdr1)); } } } return 0; }可以通过 gcc 命令编译代码语言Bash自动换行AI代码解释gcc -o dpdk_udp dpdk_udp.c -I /usr/local/include/dpdk/ -ldpdk -lpthread -lnuma -ldl也可以写如下的makefile文件来编译推荐。Makefle展开代码语言Bash自动换行AI代码解释# binary name APP dpdk_udp # all source are stored in SRCS-y SRCS-y : dpdk_udp.c # Build using pkg-config variables if possible ifeq ($(shell pkg-config --exists libdpdk echo 0),0) all: shared .PHONY: shared static shared: build/$(APP)-shared ln -sf $(APP)-shared build/$(APP) static: build/$(APP)-static ln -sf $(APP)-static build/$(APP) PKGCONFpkg-config --define-prefix PC_FILE : $(shell $(PKGCONF) --path libdpdk) CFLAGS -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC -Wl,-Bstatic $(shell $(PKGCONF) --static --libs libdpdk) build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $ $(LDFLAGS) $(LDFLAGS_SHARED) build/$(APP)-static: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $ $(LDFLAGS) $(LDFLAGS_STATIC) build: mkdir -p $ .PHONY: clean clean: rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared test -d build rmdir -p build || true else ifeq ($(RTE_SDK),) $(error Please define RTE_SDK environment variable) endif # Default target, detect a build directory, by looking for a path with a .config RTE_TARGET ? $(notdir $(abspath $(dir $(firstword $(wildcard $(RTE_SDK)/*/.config))))) include $(RTE_SDK)/mk/rte.vars.mk四、总结多队列网卡只负责数据包的接收不能做到逻辑控制。dpdk不能保证udp的可靠它只负责将数据转移到内存。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

如何做旅游网站的旅行家安康市网站开发

YOLOFuse离线部署方案:支持内网环境下的镜像导入与运行 在智能安防、工业检测和自动驾驶等实际场景中,单一可见光摄像头在夜间、烟雾或恶劣天气下往往“力不从心”——目标模糊、对比度低、误检率高。这时候,红外(IR)图…

张小明 2026/1/17 16:54:57 网站建设

凡客建站登陆企业网站哪家做得比较好

WeKnora作为基于大语言模型的AI框架,通过微服务架构为企业级文档理解、语义检索和上下文感知问答提供完整解决方案。本文将从技术架构、性能优化、实战部署三个维度深度剖析WeKnora的核心设计理念。 【免费下载链接】WeKnora LLM-powered framework for deep docume…

张小明 2026/1/17 16:54:58 网站建设

平安保险网站虚拟网站服务器

深入解析Intel硬件安全核心:ME Analyzer固件分析工具完全指南 【免费下载链接】MEAnalyzer Intel Engine & Graphics Firmware Analysis Tool 项目地址: https://gitcode.com/gh_mirrors/me/MEAnalyzer 在当今数字化时代,硬件安全已成为系统防…

张小明 2026/1/17 16:54:59 网站建设

网站维护中页面亚马逊网站建设案例分析

在AIGC技术浪潮席卷全球的当下,AI数字人技术正迎来历史性拐点。如同智能手机彻底重塑通信行业,数字人技术正在重新定义内容创作的生产关系。从传统影视制作的复杂流程到"创作者AI工具"的轻量化模式,这场技术革命正在催生全新的内容…

张小明 2026/1/17 16:54:58 网站建设

网站建设管理ppt成都企业如何建网站

卫健委试点Sonic在基层医疗机构健康宣教使用 在社区卫生服务中心的候诊区,一台电子屏正循环播放着一段健康科普视频:画面中的“张医生”面带微笑,口型精准地配合语音讲解高血压的日常管理要点。患者们驻足观看,不时点头认同——但…

张小明 2026/1/17 16:55:02 网站建设

做网站模板的海报尺寸多少网络推广团队需要哪些人手

YOLOv8模型服务化部署:使用Triton Inference Server 在智能视觉系统日益普及的今天,如何将一个训练好的目标检测模型稳定、高效地部署到生产环境,已成为AI工程落地的核心瓶颈。许多团队在实验室中跑通了YOLOv8模型,却在面对高并发…

张小明 2026/1/17 16:55:02 网站建设