哪个网站做布料好衡阳城乡建设局网站

张小明 2026/1/11 3:52:22
哪个网站做布料好,衡阳城乡建设局网站,乙方宝招标官网,分销网络设计案例网卡作为 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进行投诉反馈,一经查实,立即删除!

国外优秀的企业网站代理ip免费

基于节点的LangChain构建器LangFlow,让AI应用开发更高效 在大语言模型(LLM)迅速渗透各行各业的今天,越来越多团队希望快速验证一个AI产品的想法——比如做个能回答企业知识库的客服机器人,或是一个能自动写周报的智能助…

张小明 2026/1/8 5:52:30 网站建设

用哪个语言做网站比较好足球世界排名

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 使用快马平台开发一个基于Go语言的API网关服务,要求包含:1.JWT身份验证中间件 2.请求速率限制功能 3.动态路由配置 4.请求/响应日志记录 5.支持gRPC和HTTP协…

张小明 2026/1/9 21:08:02 网站建设

重庆石桥铺网站建设公司企业手机网页设计

在大模型训练过程中,你是否遇到过这样的困境:GPU内存频频爆满,训练速度迟迟上不去,调参试错成本高昂?分布式训练策略的选择直接决定了训练效率和资源利用率,而TorchTitan作为原生PyTorch大模型训练库&#…

张小明 2026/1/6 15:10:11 网站建设

网站注册空间江门关键词排名工具

RocketMQ 存储高可用与故障恢复深度剖析 在分布式消息系统中,数据的 持久化、一致性 和 高可用性 是衡量可靠性的核心指标。RocketMQ 凭借其卓越的存储设计,在这些方面提供了强有力的保障。本章将深入剖析 RocketMQ 如何在节点故障或宕机情况下快速恢复,并解读其基于主从复…

张小明 2025/12/29 10:52:58 网站建设

网站建设百强企业外贸营销

在处理大数运算时,由于普通数据类型(如 int、long long)的范围限制,我们需要用字符串模拟手工乘法的过程。本文以 LeetCode 风格的 “字符串相乘” 题目为例题目描述给定两个以字符串形式表示的非负整数 num1 和 num2,…

张小明 2025/12/26 23:01:13 网站建设

网站维护建设费应计入科目wordpress 注册会员

Kotaemon支持API调用日志审计,满足合规要求在金融、医疗和政务系统中,一次未被记录的API调用可能意味着一场潜在的数据泄露风险。当监管机构上门审查时,企业能否快速提供完整、不可篡改的操作日志,往往直接决定其是否能够通过合规…

张小明 2026/1/9 23:22:49 网站建设