<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>冰log</title><link>https://blog.bingyuanlang.cn/</link><description>冰原狼blog</description><item><title>Ubuntu 24.04 + ns-allinone-3.44的完整安装步骤</title><link>https://blog.bingyuanlang.cn/?id=8</link><description>&lt;p&gt;&lt;span style=&quot;font-size: 24px;&quot;&gt;1.安装依赖&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;sudo&amp;nbsp;apt&amp;nbsp;update
apt&amp;nbsp;install&amp;nbsp;g++&amp;nbsp;python3&amp;nbsp;cmake&amp;nbsp;ninja-build&amp;nbsp;git&amp;nbsp;gir1.2-goocanvas-2.0&amp;nbsp;python3-gi&amp;nbsp;python3-gi-cairo&amp;nbsp;python3-pygraphviz&amp;nbsp;gir1.2-gtk-3.0&amp;nbsp;ipython3&amp;nbsp;tcpdump&amp;nbsp;wireshark&amp;nbsp;sqlite3&amp;nbsp;libsqlite3-dev&amp;nbsp;qtbase5-dev&amp;nbsp;qtchooser&amp;nbsp;qt5-qmake&amp;nbsp;qtbase5-dev-tools&amp;nbsp;openmpi-bin&amp;nbsp;openmpi-common&amp;nbsp;openmpi-doc&amp;nbsp;libopenmpi-dev&amp;nbsp;doxygen&amp;nbsp;graphviz&amp;nbsp;imagemagick&amp;nbsp;python3-sphinx&amp;nbsp;dia&amp;nbsp;imagemagick&amp;nbsp;texlive&amp;nbsp;dvipng&amp;nbsp;latexmk&amp;nbsp;texlive-extra-utils&amp;nbsp;texlive-latex-extra&amp;nbsp;texlive-font-utils&amp;nbsp;libeigen3-dev&amp;nbsp;gsl-bin&amp;nbsp;libgsl-dev&amp;nbsp;libgslcblas0&amp;nbsp;libxml2&amp;nbsp;libxml2-dev&amp;nbsp;libgtk-3-dev&amp;nbsp;lxc-utils&amp;nbsp;lxc-templates&amp;nbsp;vtun&amp;nbsp;uml-utilities&amp;nbsp;ebtables&amp;nbsp;bridge-utils&amp;nbsp;libxml2&amp;nbsp;libxml2-dev&amp;nbsp;libboost-all-dev&amp;nbsp;ccache&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;font-size: 24px; text-wrap-mode: wrap;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 24px;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 24px; text-wrap-mode: wrap;&quot;&gt;2.下载解压&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;wget&amp;nbsp;https://www.nsnam.org/release/ns-allinone-3.44.tar.bz2
tar&amp;nbsp;-xjf&amp;nbsp;ns-allinone-3.44.tar.bz2
cd&amp;nbsp;ns-allinone-3.44&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;font-size: 24px; text-wrap-mode: wrap;&quot;&gt;&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 24px; text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 24px; text-wrap-mode: wrap;&quot;&gt;3.编译构建&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;cd&amp;nbsp;~/Desktop/ns-allinone-3.44/ns-3.44

./build.py&amp;nbsp;--enable-examples&amp;nbsp;--enable-tests&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: wrap; font-size: 20px;&quot;&gt;&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 24px; text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 24px; text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 24px; text-wrap-mode: wrap;&quot;&gt;4.hello world&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;cd&amp;nbsp;ns-3.43/

./ns3&amp;nbsp;run&amp;nbsp;examples/tutorial/first.cc&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;font-size: 24px; text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 24px; text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 24px; text-wrap-mode: wrap;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 24px; text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 24px; text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 24px; text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 24px; text-wrap-mode: wrap;&quot;&gt;5.自定义脚本&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: wrap; font-size: 20px;&quot;&gt;脚本放到scratch即可&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;./ns3&amp;nbsp;run&amp;nbsp;scratch/你的文件名.后缀&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 24px; text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 24px; text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 24px; text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 24px; text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 24px; text-wrap-mode: wrap;&quot;&gt;6.python绑定（选）&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;./ns3&amp;nbsp;configure&amp;nbsp;--enable-python-bindings
./ns3&amp;nbsp;build&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 24px; text-wrap-mode: wrap;&quot;&gt;7.&lt;span style=&quot;text-wrap-mode: wrap; font-size: 24px;&quot;&gt;可视化动画工具&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;sudo&amp;nbsp;apt&amp;nbsp;install&amp;nbsp;graphviz&amp;nbsp;graphviz-dev
pip&amp;nbsp;install&amp;nbsp;pygccxml&amp;nbsp;pygraphviz&amp;nbsp;cppyy&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;然后在运行支持 PyViz 的脚本时加入参数：&lt;/span&gt;&lt;span style=&quot;font-size: 24px; text-wrap-mode: wrap;&quot;&gt;&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;./ns3&amp;nbsp;run&amp;nbsp;&amp;quot;scratch/my-script&amp;nbsp;--vis&amp;quot;&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Fri, 20 Jun 2025 16:29:07 +0800</pubDate></item><item><title>利用iptable转发端口实现更改ubuntu图形桌面的rdp3389端口</title><link>https://blog.bingyuanlang.cn/?id=7</link><description>&lt;h2&gt;前言&lt;/h2&gt;&lt;p&gt;因为内网禁用的3389端口，所以需要更改默认端口。&lt;/p&gt;&lt;h3&gt;1. &lt;strong&gt;手动修改端口设置&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;GNOME 远程桌面默认不提供直接更改端口的选项，因此可以通过以下方式手动调整防火墙规则或者修改 GNOME 远程桌面的配置来实现。&lt;/p&gt;&lt;h3&gt;2. &lt;strong&gt;防火墙重定向端口&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;如果无法在 GNOME 远程桌面的配置中直接更改端口，你可以通过防火墙设置来实现端口重定向：&lt;/p&gt;&lt;h4&gt;使用 &lt;code&gt;iptables&lt;/code&gt; 进行端口转发&lt;/h4&gt;&lt;p&gt;假设你想将 RDP 从默认的 3389 端口更改为 3390 端口，可以设置防火墙规则来进行端口转发：&lt;/p&gt;&lt;pre class=&quot;!overflow-visible&quot;&gt;sudo&amp;nbsp;iptables&amp;nbsp;-t&amp;nbsp;nat&amp;nbsp;-A&amp;nbsp;PREROUTING&amp;nbsp;-p&amp;nbsp;tcp&amp;nbsp;--dport&amp;nbsp;3390&amp;nbsp;-j&amp;nbsp;REDIRECT&amp;nbsp;--to-port&amp;nbsp;3389&lt;/pre&gt;&lt;p&gt;这条规则会将所有发送到 3390 端口的请求重定向到 3389 端口，保持 &lt;code&gt;gnome-remote-desktop&lt;/code&gt; 使用默认的 3389 端口。&lt;/p&gt;&lt;h3&gt;3. &lt;strong&gt;保存防火墙规则&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;为了确保重启后规则仍然有效，你需要保存 &lt;code&gt;iptables&lt;/code&gt; 规则：&lt;/p&gt;&lt;pre class=&quot;!overflow-visible&quot;&gt;sudo&amp;nbsp;apt&amp;nbsp;install&amp;nbsp;iptables-persistent
sudo&amp;nbsp;netfilter-persistent&amp;nbsp;save&lt;/pre&gt;&lt;h3&gt;4. &lt;strong&gt;验证防火墙设置&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;查看当前防火墙规则，确认端口重定向已经生效：&lt;/p&gt;&lt;pre class=&quot;!overflow-visible&quot;&gt;sudo&amp;nbsp;iptables&amp;nbsp;-t&amp;nbsp;nat&amp;nbsp;-L&lt;/pre&gt;&lt;h3&gt;5. &lt;strong&gt;连接新端口&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;现在你可以通过新端口（例如 3390）进行远程连接，客户端的连接地址应为：&lt;/p&gt;&lt;pre class=&quot;!overflow-visible&quot;&gt;rdp://your-server-ip:3390&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sun, 27 Oct 2024 14:38:15 +0800</pubDate></item><item><title>ubuntu22.04虚拟机搭建DPDK24.07开发环境</title><link>https://blog.bingyuanlang.cn/?id=6</link><description>&lt;h2 style=&quot;box-sizing: border-box; outline: 0px; margin: 24px 0px 8px; padding: 0px; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, SimHei, Arial, SimSun; font-size: 20px; color: rgb(79, 79, 79); line-height: 30px; font-synthesis-style: auto; overflow-wrap: break-word; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;安装DPDK&lt;/h2&gt;&lt;h4 style=&quot;box-sizing: border-box; outline: 0px; margin: 24px 0px 8px; padding: 0px; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, SimHei, Arial, SimSun; font-size: 18px; color: rgb(79, 79, 79); line-height: 28px; font-synthesis-style: auto; overflow-wrap: break-word; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;a name=&quot;t3&quot; style=&quot;box-sizing: border-box; outline: none; margin: 0px; padding: 0px; font-weight: normal; cursor: pointer; background-color: transparent; color: rgb(78, 161, 219); font-synthesis-style: auto; overflow-wrap: break-word;&quot;&gt;&lt;/a&gt;&lt;a id=&quot;_8&quot; style=&quot;box-sizing: border-box; outline: none; margin: 0px; padding: 0px; font-weight: normal; cursor: pointer; background-color: transparent; color: rgb(78, 161, 219); font-synthesis-style: auto; overflow-wrap: break-word;&quot;&gt;&lt;/a&gt;安装相关依赖包&lt;/h4&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;//首次创建虚拟机
sudo&amp;nbsp;apt-get&amp;nbsp;update&amp;nbsp;
sudo&amp;nbsp;apt-get&amp;nbsp;upgrade&amp;nbsp;
apt&amp;nbsp;install&amp;nbsp;net-tools
apt&amp;nbsp;install&amp;nbsp;git
//DPDK编译依赖
apt-get&amp;nbsp;install&amp;nbsp;meson
apt&amp;nbsp;install&amp;nbsp;python3-pyelftools
apt-get&amp;nbsp;install&amp;nbsp;pkg-config
sudo&amp;nbsp;apt&amp;nbsp;install&amp;nbsp;libnuma-dev
sudo&amp;nbsp;apt&amp;nbsp;install&amp;nbsp;gcc-12&lt;/pre&gt;&lt;p style=&quot;box-sizing: border-box; outline: 0px; margin: 24px 0px 8px; padding: 0px; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, SimHei, Arial, SimSun; font-size: 18px; color: rgb(79, 79, 79); line-height: 28px; font-synthesis-style: auto; overflow-wrap: break-word; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-family: 微软雅黑, &amp;quot;Microsoft YaHei&amp;quot;;&quot;&gt;最后2条命令新增&lt;/span&gt;&lt;/p&gt;&lt;h4 style=&quot;box-sizing: border-box; outline: 0px; margin: 24px 0px 8px; padding: 0px; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, SimHei, Arial, SimSun; font-size: 18px; color: rgb(79, 79, 79); line-height: 28px; font-synthesis-style: auto; overflow-wrap: break-word; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;编译DPDK&lt;/h4&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;wget&amp;nbsp;https://fast.dpdk.org/rel/dpdk-24.07.tar.xz
tar&amp;nbsp;xf&amp;nbsp;dpdk-24.07.tar.xz
cd&amp;nbsp;dpdk-24.07
meson&amp;nbsp;build
cd&amp;nbsp;build
ninja
ninja&amp;nbsp;install&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;span style=&quot;box-sizing: border-box; outline: 0px; font-weight: 700; font-synthesis-style: auto; overflow-wrap: break-word; color: #4D4D4D; font-family: -apple-system, &amp;quot;SF UI Text&amp;quot;, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; font-size: 16px; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: #FFFFFF;&quot;&gt;注意&lt;/span&gt;&lt;span style=&quot;color: #4D4D4D; font-family: -apple-system, &amp;quot;SF UI Text&amp;quot;, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; font-size: 16px; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: #FFFFFF;&quot;&gt;：执行完之后所有的库都安装在&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;box-sizing: border-box; outline: 0px; font-weight: 700; font-synthesis-style: auto; overflow-wrap: break-word; color: #4D4D4D; font-family: -apple-system, &amp;quot;SF UI Text&amp;quot;, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; font-size: 16px; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: #FFFFFF;&quot;&gt;/usr/local/lib/x86_64-linux-gnu/&lt;/span&gt;&lt;span style=&quot;color: #4D4D4D; font-family: -apple-system, &amp;quot;SF UI Text&amp;quot;, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; font-size: 16px; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: #FFFFFF;&quot;&gt;&amp;nbsp;目录。可执行程序和脚本都安装在&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;box-sizing: border-box; outline: 0px; font-weight: 700; font-synthesis-style: auto; overflow-wrap: break-word; color: #4D4D4D; font-family: -apple-system, &amp;quot;SF UI Text&amp;quot;, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; font-size: 16px; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: #FFFFFF;&quot;&gt;/usr/local/bin/&lt;/span&gt;&lt;span style=&quot;color: #4D4D4D; font-family: -apple-system, &amp;quot;SF UI Text&amp;quot;, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; font-size: 16px; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: #FFFFFF;&quot;&gt;&amp;nbsp;目录。卸载只需执行&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;box-sizing: border-box; outline: 0px; font-weight: 700; font-synthesis-style: auto; overflow-wrap: break-word; color: #4D4D4D; font-family: -apple-system, &amp;quot;SF UI Text&amp;quot;, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; font-size: 16px; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: #FFFFFF;&quot;&gt;ninja uninstall&lt;/span&gt;&lt;span style=&quot;color: #4D4D4D; font-family: -apple-system, &amp;quot;SF UI Text&amp;quot;, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; font-size: 16px; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: #FFFFFF;&quot;&gt;&amp;nbsp;即可。至此环境安装完成。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: #4D4D4D; font-family: -apple-system, &amp;quot;SF UI Text&amp;quot;, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; font-size: 16px; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: #FFFFFF;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h2 style=&quot;box-sizing: border-box; outline: 0px; margin: 24px 0px 8px; padding: 0px; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, SimHei, Arial, SimSun; font-size: 20px; color: rgb(79, 79, 79); line-height: 30px; font-synthesis-style: auto; overflow-wrap: break-word; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;验证DPDK环境&lt;/h2&gt;&lt;h4 style=&quot;box-sizing: border-box; outline: 0px; margin: 24px 0px 8px; padding: 0px; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, SimHei, Arial, SimSun; font-size: 18px; color: rgb(79, 79, 79); line-height: 28px; font-synthesis-style: auto; overflow-wrap: break-word; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;a name=&quot;t6&quot; style=&quot;box-sizing: border-box; outline: none; margin: 0px; padding: 0px; font-weight: normal; cursor: pointer; background-color: transparent; color: rgb(78, 161, 219); font-synthesis-style: auto; overflow-wrap: break-word;&quot;&gt;&lt;/a&gt;&lt;a id=&quot;igb_uio_32&quot; style=&quot;box-sizing: border-box; outline: none; margin: 0px; padding: 0px; font-weight: normal; cursor: pointer; background-color: transparent; color: rgb(78, 161, 219); font-synthesis-style: auto; overflow-wrap: break-word;&quot;&gt;&lt;/a&gt;编译igb uio驱动&lt;/h4&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;git&amp;nbsp;clone&amp;nbsp;http://dpdk.org/git/dpdk-kmods
cd&amp;nbsp;dpdk-kmods/linux/igb_uio
make&lt;/pre&gt;&lt;p style=&quot;box-sizing: border-box; outline: 0px; margin-top: 0px; margin-bottom: 16px; padding: 0px; font-size: 16px; color: rgb(77, 77, 77); line-height: 26px; overflow: auto hidden; font-synthesis-style: auto; overflow-wrap: break-word; font-family: -apple-system, &amp;quot;SF UI Text&amp;quot;, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;得到igb_uio.ko&lt;/p&gt;&lt;h4 style=&quot;box-sizing: border-box; outline: 0px; margin: 24px 0px 8px; padding: 0px; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, SimHei, Arial, SimSun; font-size: 18px; --el-button-hover-bg-color: #6d5ffd; --el-button-hover-border-color: #6d5ffd; --el-button-active-bg-color: #6d5ffd; --el-button-active-border-color: #6d5ffd; color: rgb(79, 79, 79); line-height: 28px; font-synthesis-style: auto; overflow-wrap: break-word; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;a name=&quot;t7&quot; style=&quot;box-sizing: border-box; outline: none; margin: 0px; padding: 0px; font-weight: normal; cursor: pointer; background-color: transparent; color: rgb(78, 161, 219); font-synthesis-style: auto; overflow-wrap: break-word;&quot;&gt;&lt;/a&gt;&lt;a id=&quot;DPDKdemo_39&quot; style=&quot;box-sizing: border-box; outline: none; margin: 0px; padding: 0px; font-weight: normal; cursor: pointer; background-color: transparent; color: rgb(78, 161, 219); font-synthesis-style: auto; overflow-wrap: break-word;&quot;&gt;&lt;/a&gt;编译DPDK实例demo&lt;/h4&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;cd&amp;nbsp;examples/l2fwd
make&lt;/pre&gt;&lt;h4 style=&quot;box-sizing: border-box; outline: 0px; margin: 24px 0px 8px; padding: 0px; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, SimHei, Arial, SimSun; font-size: 18px; color: rgb(79, 79, 79); line-height: 28px; font-synthesis-style: auto; overflow-wrap: break-word; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;挂载igb_uio驱动&lt;/h4&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;cd&amp;nbsp;dpdk-kmods/linux/igb_uio
modprobe&amp;nbsp;uio
insmod&amp;nbsp;igb_uio.ko&amp;nbsp;intr_mode=legacy&lt;/pre&gt;&lt;p style=&quot;box-sizing: border-box; outline: 0px; margin-top: 0px; margin-bottom: 16px; padding: 0px; font-size: 16px; color: rgb(77, 77, 77); line-height: 26px; overflow: auto hidden; font-synthesis-style: auto; overflow-wrap: break-word; font-family: -apple-system, &amp;quot;SF UI Text&amp;quot;, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;box-sizing: border-box; outline: 0px; font-weight: 700; font-synthesis-style: auto; overflow-wrap: break-word;&quot;&gt;注意&lt;/span&gt;： 加载驱动时要带着参数intr_mode=legacy，如果不加参数，将会有问题！&lt;/p&gt;&lt;h4 style=&quot;box-sizing: border-box; outline: 0px; margin: 24px 0px 8px; padding: 0px; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, SimHei, Arial, SimSun; font-size: 18px; color: rgb(79, 79, 79); line-height: 28px; font-synthesis-style: auto; overflow-wrap: break-word; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;a name=&quot;t9&quot; style=&quot;box-sizing: border-box; outline: none; margin: 0px; padding: 0px; font-weight: normal; cursor: pointer; background-color: transparent; color: rgb(78, 161, 219); font-synthesis-style: auto; overflow-wrap: break-word;&quot;&gt;&lt;/a&gt;&lt;a id=&quot;_51&quot; style=&quot;box-sizing: border-box; outline: none; margin: 0px; padding: 0px; font-weight: normal; cursor: pointer; background-color: transparent; color: rgb(78, 161, 219); font-synthesis-style: auto; overflow-wrap: break-word;&quot;&gt;&lt;/a&gt;分配大页内存：&lt;/h4&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;echo&amp;nbsp;512&amp;nbsp;&amp;gt;&amp;nbsp;/sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages&lt;/pre&gt;&lt;h4 style=&quot;box-sizing: border-box; outline: 0px; margin: 24px 0px 8px; padding: 0px; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, SimHei, Arial, SimSun; font-size: 18px; color: rgb(79, 79, 79); line-height: 28px; font-synthesis-style: auto; overflow-wrap: break-word; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;DPDK绑定网卡&lt;/h4&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;ifconfig&amp;nbsp;ens34&amp;nbsp;down
ifconfig&amp;nbsp;ens35&amp;nbsp;down
dpdk-devbind.py&amp;nbsp;-b&amp;nbsp;igb_uio&amp;nbsp;ens34&amp;nbsp;ens35&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;color: #4D4D4D; font-family: -apple-system, &amp;quot;SF UI Text&amp;quot;, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; font-size: 16px; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: #FFFFFF;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: #4D4D4D; font-family: -apple-system, &amp;quot;SF UI Text&amp;quot;, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; font-size: 16px; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: #FFFFFF;&quot;&gt;查看网卡状态&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;df@df-virtual-machine:~/dpdk-22.07/dpdk-kmods/linux/igb_uio$&amp;nbsp;dpdk-devbind.py&amp;nbsp;--status

Network&amp;nbsp;devices&amp;nbsp;using&amp;nbsp;DPDK-compatible&amp;nbsp;driver
============================================
0000:02:02.0&amp;nbsp;&amp;#39;82545EM&amp;nbsp;Gigabit&amp;nbsp;Ethernet&amp;nbsp;Controller&amp;nbsp;(Copper)&amp;nbsp;100f&amp;#39;&amp;nbsp;drv=igb_uio&amp;nbsp;unused=e1000
0000:02:03.0&amp;nbsp;&amp;#39;82545EM&amp;nbsp;Gigabit&amp;nbsp;Ethernet&amp;nbsp;Controller&amp;nbsp;(Copper)&amp;nbsp;100f&amp;#39;&amp;nbsp;drv=igb_uio&amp;nbsp;unused=e1000

Network&amp;nbsp;devices&amp;nbsp;using&amp;nbsp;kernel&amp;nbsp;driver
===================================
0000:02:01.0&amp;nbsp;&amp;#39;82545EM&amp;nbsp;Gigabit&amp;nbsp;Ethernet&amp;nbsp;Controller&amp;nbsp;(Copper)&amp;nbsp;100f&amp;#39;&amp;nbsp;if=ens33&amp;nbsp;drv=e1000&amp;nbsp;unused=igb_uio&amp;nbsp;*Active*&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;color: #4D4D4D; font-family: -apple-system, &amp;quot;SF UI Text&amp;quot;, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; font-size: 16px; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: #FFFFFF;&quot;&gt;&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;h4 style=&quot;box-sizing: border-box; outline: 0px; margin: 24px 0px 8px; padding: 0px; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, SimHei, Arial, SimSun; font-size: 18px; color: rgb(79, 79, 79); line-height: 28px; font-synthesis-style: auto; overflow-wrap: break-word; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;运行DPDK示例l2fwd&lt;/h4&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;cd&amp;nbsp;examples/l2fwd/build/
./l2fwd&amp;nbsp;-l&amp;nbsp;0-1&amp;nbsp;--&amp;nbsp;-p&amp;nbsp;0x3&amp;nbsp;-T&amp;nbsp;1&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;box-sizing: border-box; outline: 0px; font-weight: 700; font-synthesis-style: auto; overflow-wrap: break-word; color: #4D4D4D; font-family: -apple-system, &amp;quot;SF UI Text&amp;quot;, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; font-size: 16px; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: #FFFFFF;&quot;&gt;注意&lt;/span&gt;&lt;span style=&quot;color: #4D4D4D; font-family: -apple-system, &amp;quot;SF UI Text&amp;quot;, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; font-size: 16px; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: #FFFFFF;&quot;&gt;:如果看到以下信息，说明 DPDK 环境没问题！&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;EAL:&amp;nbsp;Detected&amp;nbsp;CPU&amp;nbsp;lcores:&amp;nbsp;8
EAL:&amp;nbsp;Detected&amp;nbsp;NUMA&amp;nbsp;nodes:&amp;nbsp;1
EAL:&amp;nbsp;Detected&amp;nbsp;shared&amp;nbsp;linkage&amp;nbsp;of&amp;nbsp;DPDK
EAL:&amp;nbsp;Multi-process&amp;nbsp;socket&amp;nbsp;/var/run/dpdk/rte/mp_socket
EAL:&amp;nbsp;Selected&amp;nbsp;IOVA&amp;nbsp;mode&amp;nbsp;&amp;#39;PA&amp;#39;
EAL:&amp;nbsp;VFIO&amp;nbsp;support&amp;nbsp;initialized
EAL:&amp;nbsp;Probe&amp;nbsp;PCI&amp;nbsp;driver:&amp;nbsp;net_e1000_em&amp;nbsp;(8086:100f)&amp;nbsp;device:&amp;nbsp;0000:02:02.0&amp;nbsp;(socket&amp;nbsp;0)
EAL:&amp;nbsp;Error&amp;nbsp;reading&amp;nbsp;from&amp;nbsp;file&amp;nbsp;descriptor&amp;nbsp;20:&amp;nbsp;Input/output&amp;nbsp;error
EAL:&amp;nbsp;Probe&amp;nbsp;PCI&amp;nbsp;driver:&amp;nbsp;net_e1000_em&amp;nbsp;(8086:100f)&amp;nbsp;device:&amp;nbsp;0000:02:03.0&amp;nbsp;(socket&amp;nbsp;0)
EAL:&amp;nbsp;Error&amp;nbsp;reading&amp;nbsp;from&amp;nbsp;file&amp;nbsp;descriptor&amp;nbsp;6:&amp;nbsp;Input/output&amp;nbsp;error
TELEMETRY:&amp;nbsp;No&amp;nbsp;legacy&amp;nbsp;callbacks,&amp;nbsp;legacy&amp;nbsp;socket&amp;nbsp;not&amp;nbsp;created
MAC&amp;nbsp;updating&amp;nbsp;enabled
Lcore&amp;nbsp;0:&amp;nbsp;RX&amp;nbsp;port&amp;nbsp;0&amp;nbsp;TX&amp;nbsp;port&amp;nbsp;1
Lcore&amp;nbsp;1:&amp;nbsp;RX&amp;nbsp;port&amp;nbsp;1&amp;nbsp;TX&amp;nbsp;port&amp;nbsp;0
Initializing&amp;nbsp;port&amp;nbsp;0...&amp;nbsp;EAL:&amp;nbsp;Error&amp;nbsp;enabling&amp;nbsp;interrupts&amp;nbsp;for&amp;nbsp;fd&amp;nbsp;20&amp;nbsp;(Input/output&amp;nbsp;error)
done:&amp;nbsp;
Port&amp;nbsp;0,&amp;nbsp;MAC&amp;nbsp;address:&amp;nbsp;00:0C:29:0C:53:91

Initializing&amp;nbsp;port&amp;nbsp;1...&amp;nbsp;EAL:&amp;nbsp;Error&amp;nbsp;enabling&amp;nbsp;interrupts&amp;nbsp;for&amp;nbsp;fd&amp;nbsp;6&amp;nbsp;(Input/output&amp;nbsp;error)
done:&amp;nbsp;
Port&amp;nbsp;1,&amp;nbsp;MAC&amp;nbsp;address:&amp;nbsp;00:0C:29:0C:53:9B

Checking&amp;nbsp;link&amp;nbsp;statusdone
Port&amp;nbsp;0&amp;nbsp;Link&amp;nbsp;up&amp;nbsp;at&amp;nbsp;1&amp;nbsp;Gbps&amp;nbsp;FDX&amp;nbsp;Autoneg
Port&amp;nbsp;1&amp;nbsp;Link&amp;nbsp;up&amp;nbsp;at&amp;nbsp;1&amp;nbsp;Gbps&amp;nbsp;FDX&amp;nbsp;Autoneg
L2FWD:&amp;nbsp;entering&amp;nbsp;main&amp;nbsp;loop&amp;nbsp;on&amp;nbsp;lcore&amp;nbsp;1
L2FWD:&amp;nbsp;&amp;nbsp;--&amp;nbsp;lcoreid=1&amp;nbsp;portid=1
L2FWD:&amp;nbsp;entering&amp;nbsp;main&amp;nbsp;loop&amp;nbsp;on&amp;nbsp;lcore&amp;nbsp;0
L2FWD:&amp;nbsp;&amp;nbsp;--&amp;nbsp;lcoreid=0&amp;nbsp;portid=0

Port&amp;nbsp;statistics&amp;nbsp;====================================
Statistics&amp;nbsp;for&amp;nbsp;port&amp;nbsp;0&amp;nbsp;------------------------------
Packets&amp;nbsp;sent:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0
Packets&amp;nbsp;received:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0
Packets&amp;nbsp;dropped:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0
Statistics&amp;nbsp;for&amp;nbsp;port&amp;nbsp;1&amp;nbsp;------------------------------
Packets&amp;nbsp;sent:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0
Packets&amp;nbsp;received:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0
Packets&amp;nbsp;dropped:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0
Aggregate&amp;nbsp;statistics&amp;nbsp;===============================
Total&amp;nbsp;packets&amp;nbsp;sent:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0
Total&amp;nbsp;packets&amp;nbsp;received:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0
Total&amp;nbsp;packets&amp;nbsp;dropped:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0
====================================================
^C

Signal&amp;nbsp;2&amp;nbsp;received,&amp;nbsp;preparing&amp;nbsp;to&amp;nbsp;exit...
EAL:&amp;nbsp;Error&amp;nbsp;disabling&amp;nbsp;interrupts&amp;nbsp;for&amp;nbsp;fd&amp;nbsp;20&amp;nbsp;(Input/output&amp;nbsp;error)
Closing&amp;nbsp;port&amp;nbsp;0...&amp;nbsp;Done
EAL:&amp;nbsp;Error&amp;nbsp;disabling&amp;nbsp;interrupts&amp;nbsp;for&amp;nbsp;fd&amp;nbsp;6&amp;nbsp;(Input/output&amp;nbsp;error)
Closing&amp;nbsp;port&amp;nbsp;1...&amp;nbsp;Done
Bye...&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;color: #4D4D4D; font-family: -apple-system, &amp;quot;SF UI Text&amp;quot;, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; font-size: 16px; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: #FFFFFF;&quot;&gt;执行后报错，错误的原因是没有访问大型页面的&lt;/span&gt;&lt;a href=&quot;https://so.csdn.net/so/search?q=%E7%89%A9%E7%90%86%E5%9C%B0%E5%9D%80&amp;spm=1001.2101.3001.7020&quot; target=&quot;_blank&quot; class=&quot;hl hl-1&quot; data-report-click=&quot;{&amp;quot;spm&amp;quot;:&amp;quot;1001.2101.3001.7020&amp;quot;,&amp;quot;dest&amp;quot;:&amp;quot;https://so.csdn.net/so/search?q=%E7%89%A9%E7%90%86%E5%9C%B0%E5%9D%80&amp;amp;spm=1001.2101.3001.7020&amp;quot;,&amp;quot;extra&amp;quot;:&amp;quot;{\&amp;quot;searchword\&amp;quot;:\&amp;quot;物理地址\&amp;quot;}&amp;quot;}&quot; data-tit=&quot;物理地址&quot; data-pretit=&quot;物理地址&quot; style=&quot;box-sizing: border-box; outline: none; margin: 0px 3px 0px 0px; padding: 0px 14px 0px 3px; text-decoration-line: none; cursor: pointer; background: url(&amp;quot;../img/iconHighlight.svg&amp;quot;) right top / 12px 14px no-repeat rgb(255, 255, 255); color: rgb(252, 85, 49); font-synthesis-style: auto; overflow-wrap: break-word; border-radius: 3px; box-shadow: none; font-family: -apple-system, &amp;quot;SF UI Text&amp;quot;, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; font-size: 16px; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap;&quot;&gt;物理地址&lt;/a&gt;&lt;span style=&quot;color: #4D4D4D; font-family: -apple-system, &amp;quot;SF UI Text&amp;quot;, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; font-size: 16px; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: #FFFFFF;&quot;&gt;的权限，使用sudo执行即可。&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;df@df-virtual-machine:~/dpdk-22.07/examples/l2fwd/build$&amp;nbsp;./l2fwd&amp;nbsp;-l&amp;nbsp;0-1&amp;nbsp;--&amp;nbsp;-p&amp;nbsp;0x3&amp;nbsp;-T&amp;nbsp;1
EAL:&amp;nbsp;Detected&amp;nbsp;CPU&amp;nbsp;lcores:&amp;nbsp;2
EAL:&amp;nbsp;Detected&amp;nbsp;NUMA&amp;nbsp;nodes:&amp;nbsp;1
EAL:&amp;nbsp;Detected&amp;nbsp;shared&amp;nbsp;linkage&amp;nbsp;of&amp;nbsp;DPDK
EAL:&amp;nbsp;Multi-process&amp;nbsp;socket&amp;nbsp;/run/user/1000/dpdk/rte/mp_socket
EAL:&amp;nbsp;FATAL:&amp;nbsp;Cannot&amp;nbsp;use&amp;nbsp;IOVA&amp;nbsp;as&amp;nbsp;&amp;#39;PA&amp;#39;&amp;nbsp;since&amp;nbsp;physical&amp;nbsp;addresses&amp;nbsp;are&amp;nbsp;not&amp;nbsp;available
EAL:&amp;nbsp;Cannot&amp;nbsp;use&amp;nbsp;IOVA&amp;nbsp;as&amp;nbsp;&amp;#39;PA&amp;#39;&amp;nbsp;since&amp;nbsp;physical&amp;nbsp;addresses&amp;nbsp;are&amp;nbsp;not&amp;nbsp;available
EAL:&amp;nbsp;Error&amp;nbsp;-&amp;nbsp;exiting&amp;nbsp;with&amp;nbsp;code:&amp;nbsp;1
&amp;nbsp;&amp;nbsp;Cause:&amp;nbsp;Invalid&amp;nbsp;EAL&amp;nbsp;arguments&lt;/pre&gt;&lt;h3 style=&quot;box-sizing: border-box; outline: 0px; margin: 24px 0px 8px; padding: 0px; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, SimHei, Arial, SimSun; font-size: 18px; color: rgb(79, 79, 79); line-height: 28px; font-synthesis-style: auto; overflow-wrap: break-word; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;img src=&quot;https://blog.bingyuanlang.cn/zb_users/upload/2024/10/202410211729510621917526.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/h3&gt;&lt;h3 style=&quot;box-sizing: border-box; outline: 0px; margin: 24px 0px 8px; padding: 0px; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, SimHei, Arial, SimSun; font-size: 18px; color: rgb(79, 79, 79); line-height: 28px; font-synthesis-style: auto; overflow-wrap: break-word; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;解绑网卡&lt;/h3&gt;&lt;p style=&quot;box-sizing: border-box; outline: 0px; margin-top: 0px; margin-bottom: 16px; padding: 0px; font-size: 16px; color: rgb(77, 77, 77); line-height: 26px; overflow: auto hidden; font-synthesis-style: auto; overflow-wrap: break-word; font-family: -apple-system, &amp;quot;SF UI Text&amp;quot;, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;网卡 ens34 和 ens35 被 DPDK 占用后，&lt;a href=&quot;https://so.csdn.net/so/search?q=ifconfig&amp;spm=1001.2101.3001.7020&quot; target=&quot;_blank&quot; class=&quot;hl hl-1&quot; data-report-click=&quot;{&amp;quot;spm&amp;quot;:&amp;quot;1001.2101.3001.7020&amp;quot;,&amp;quot;dest&amp;quot;:&amp;quot;https://so.csdn.net/so/search?q=ifconfig&amp;amp;spm=1001.2101.3001.7020&amp;quot;,&amp;quot;extra&amp;quot;:&amp;quot;{\&amp;quot;searchword\&amp;quot;:\&amp;quot;ifconfig\&amp;quot;}&amp;quot;}&quot; data-tit=&quot;ifconfig&quot; data-pretit=&quot;ifconfig&quot; style=&quot;box-sizing: border-box; outline: none; margin: 0px 3px 0px 0px; padding: 0px 14px 0px 3px; text-decoration-line: none; cursor: pointer; background: url(&amp;quot;../img/iconHighlight.svg&amp;quot;) right top / 12px 14px no-repeat transparent; color: rgb(252, 85, 49); font-synthesis-style: auto; overflow-wrap: break-word; border-radius: 3px; box-shadow: none;&quot;&gt;ifconfig&lt;/a&gt;&amp;nbsp;里就没有了，要恢复需要进行如下操作。&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;//查看网卡&amp;nbsp;pci&amp;nbsp;设备号
df@df-virtual-machine:~#&amp;nbsp;lspci&amp;nbsp;|&amp;nbsp;grep&amp;nbsp;Eth
02:00.0&amp;nbsp;Ethernet&amp;nbsp;controller:&amp;nbsp;Intel&amp;nbsp;Corporation&amp;nbsp;82545EM&amp;nbsp;Gigabit&amp;nbsp;Ethernet&amp;nbsp;Controller&amp;nbsp;(Copper)&amp;nbsp;(rev&amp;nbsp;01)
02:01.0&amp;nbsp;Ethernet&amp;nbsp;controller:&amp;nbsp;Intel&amp;nbsp;Corporation&amp;nbsp;82545EM&amp;nbsp;Gigabit&amp;nbsp;Ethernet&amp;nbsp;Controller&amp;nbsp;(Copper)&amp;nbsp;(rev&amp;nbsp;01)
02:02.0&amp;nbsp;Ethernet&amp;nbsp;controller:&amp;nbsp;Intel&amp;nbsp;Corporation&amp;nbsp;82545EM&amp;nbsp;Gigabit&amp;nbsp;Ethernet&amp;nbsp;Controller&amp;nbsp;(Copper)&amp;nbsp;(rev&amp;nbsp;01)
02:03.0&amp;nbsp;Ethernet&amp;nbsp;controller:&amp;nbsp;Intel&amp;nbsp;Corporation&amp;nbsp;82545EM&amp;nbsp;Gigabit&amp;nbsp;Ethernet&amp;nbsp;Controller&amp;nbsp;(Copper)&amp;nbsp;(rev&amp;nbsp;01)&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;color: #4D4D4D; font-family: -apple-system, &amp;quot;SF UI Text&amp;quot;, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; font-size: 16px; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; background-color: #FFFFFF;&quot;&gt;两个网卡设备号是 02:02.0 和 02.03.0&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;//解绑两个网卡的&amp;nbsp;igb_uio&amp;nbsp;驱动，绑定&amp;nbsp;e1000&amp;nbsp;驱动：
dpdk-devbind.py&amp;nbsp;-u&amp;nbsp;02:02.0&amp;nbsp;02:03.0
dpdk-devbind.py&amp;nbsp;-b&amp;nbsp;e1000&amp;nbsp;&amp;nbsp;02:02.0&amp;nbsp;02:03.0
//启动网卡
ifconfig&amp;nbsp;ens34&amp;nbsp;up
ifconfig&amp;nbsp;ens35&amp;nbsp;up&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blog.csdn.net/weixin_42876519/article/details/134336364&quot;&gt;ubuntu22.04虚拟机搭建DPDK开发环境（保姆版）-CSDN博客&lt;/a&gt;&lt;/p&gt;</description><pubDate>Mon, 21 Oct 2024 16:14:12 +0800</pubDate></item><item><title>使用虚拟机Ubuntu搭建多节点MPI集群-MPI安装、SSH免密互联、样例程序</title><link>https://blog.bingyuanlang.cn/?id=4</link><description>&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 24px;&quot;&gt;一、环境介绍&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VMWare：16.1.2 build-17966106&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ubuntu：ubuntu-22.04.4-desktop-amd64&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MPICH：4.0&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 24px;&quot;&gt;二、MPI安装&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.1虚拟机安装&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;此处请参考网上资料。值得注意的是，需要将每台主机的用户名设置统一，否则会产生不必要的麻烦。推荐安装一台完成后，直接克隆剩余节点机器。笔者本次使用master作为主节点（程序执行），node1、node2作为子节点（辅助）。&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;font-size: 20px;&quot;&gt;&amp;nbsp;&amp;nbsp;2.2别名配置&lt;/span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;分别查看每台节点本地ip&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;ifconfig&lt;br/&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;分别更改别名&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;sudo&amp;nbsp;vim&amp;nbsp;/etc/hosts&lt;br/&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;img class=&quot;ue-image&quot; src=&quot;https://blog.bingyuanlang.cn/zb_users/upload/2024/10/202410071728279876498002.png&quot; title=&quot;图片1.png&quot; alt=&quot;图片1.png&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;2.3 SSH安装&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;分别是安装、启动、开机自启&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;sudo&amp;nbsp;apt&amp;nbsp;install&amp;nbsp;ssh&lt;br/&gt;sudo&amp;nbsp;systemctl&amp;nbsp;start&amp;nbsp;ssh&lt;br/&gt;sudo&amp;nbsp;systemctl&amp;nbsp;enable&amp;nbsp;ssh&lt;br/&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;img src=&quot;https://blog.bingyuanlang.cn/zb_users/upload/2024/10/202410071728280024421719.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;2.4 SSH免密配置&lt;/span&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-family: 宋体; font-size: 18px;&quot;&gt;生成私钥和公钥（连按三次回车）&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;ssh-keygen&amp;nbsp;-t&amp;nbsp;rsa&lt;br/&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;img src=&quot;https://blog.bingyuanlang.cn/zb_users/upload/2024/10/202410071728280142482098.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-family: 宋体; font-size: 18px;&quot;&gt;将公钥发送给指定节点主机&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;方法一：&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;ssh-copy-id&amp;nbsp;username@host&lt;br/&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;方法二：&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;在每台节点机器上执行，也就是将本地的公钥文件id_rsa传输给node1，并存储在/.ssh/以node2_id_rsa命名。&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;若有多台机器，请给其他机器都发送一次。&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;scp&amp;nbsp;~/.ssh/id_rsa.pub&amp;nbsp;username@node1:~/.ssh/node2_id_rsa.pub&lt;br/&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;例如：&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;master主机给node1发送：&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;scp&amp;nbsp;~/.ssh/id_rsa.pub&amp;nbsp;byl@node1:~/.ssh/master_id_rsa.pub&lt;br/&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;master主机给node2发送：&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;scp&amp;nbsp;~/.ssh/id_rsa.pub&amp;nbsp;byl@node2:~/.ssh/master_id_rsa.pub&lt;br/&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;发送完成后，在node1、node2执行&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;margin-top: 0px; margin-bottom: 0px; padding: calc(0.888889em); border-radius: 4px; background-color: rgb(248, 248, 250); overflow-wrap: initial; font-size: 0.9em; overflow: auto; word-break: initial; color: rgb(25, 27, 31);&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;cat&amp;nbsp;~/.ssh/nmasteer_id_rsa.pub&amp;nbsp;&amp;gt;&amp;gt;&amp;nbsp;~/.ssh/authorized_keys&lt;br/&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;这样，node1、node2就可以免密连接master主机。同理，node1、node2操作一样。&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;img src=&quot;https://blog.bingyuanlang.cn/zb_users/upload/2024/10/202410071728280732816063.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;此时，理论上在naster命令行执行&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;ssh&amp;nbsp;node1&lt;br/&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;能够免密连接&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;img src=&quot;https://blog.bingyuanlang.cn/zb_users/upload/2024/10/202410071728281204183997.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;注：此处建议每台机器都相互连接一次，避免不必要的麻烦。&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;2.5 MPI安装&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;sudo apt-get update&lt;br/&gt;sudo apt-get upgrate&lt;br/&gt;sudo&amp;nbsp;apt&amp;nbsp;install&amp;nbsp;mpich&lt;br/&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;2.6 MPI安装验证&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;which&amp;nbsp;mpirun&lt;br/&gt;mpirun&amp;nbsp;--version&lt;br/&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 24px;&quot;&gt;三、测试&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;样例程序hello.cpp&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-cpp&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;#include&amp;nbsp;&amp;lt;mpi.h&amp;gt;&amp;nbsp;&lt;br/&gt;#include&amp;nbsp;&amp;lt;stdio.h&amp;gt;&amp;nbsp;&lt;br/&gt;int&amp;nbsp;main(int&amp;nbsp;argc,&amp;nbsp;char**&amp;nbsp;argv)&amp;nbsp;{&amp;nbsp;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MPI_Init(NULL,&amp;nbsp;NULL);&amp;nbsp;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;world_size;&amp;nbsp;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MPI_Comm_size(MPI_COMM_WORLD,&amp;nbsp;&amp;amp;world_size);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;world_rank;&amp;nbsp;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MPI_Comm_rank(MPI_COMM_WORLD,&amp;nbsp;&amp;amp;world_rank);&amp;nbsp;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char&amp;nbsp;processor_name[MPI_MAX_PROCESSOR_NAME];&amp;nbsp;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;name_len;&amp;nbsp;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MPI_Get_processor_name(processor_name,&amp;nbsp;&amp;amp;name_len);&amp;nbsp;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;printf(&amp;quot;Hello&amp;nbsp;world&amp;nbsp;from&amp;nbsp;processor&amp;nbsp;%s,&amp;nbsp;rank&amp;nbsp;%d&amp;nbsp;out&amp;nbsp;of&amp;nbsp;%d&amp;nbsp;processors\n&amp;quot;,&amp;nbsp;processor_name,&amp;nbsp;world_rank,&amp;nbsp;world_size);&amp;nbsp;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MPI_Finalize();&amp;nbsp;&lt;br/&gt;}&lt;br/&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;样例配置文件conf：master运行34线程，node1、node2运行33个&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;master:34&lt;br/&gt;node1:33&lt;br/&gt;node2:33&lt;br/&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;将文件放在desktop上，编译&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;mpic++ hello.cpp -o hello&lt;br/&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;单机测试，运行十个线程&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-family: Calibri; font-size: 18px;&quot;&gt;mpirun -n 10 ./hello&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;img src=&quot;https://blog.bingyuanlang.cn/zb_users/upload/2024/10/202410071728281596189084.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;集群测试：&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;利用xshell和xftp传输文件到各个节点，注意文件路径一致。&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;img src=&quot;https://blog.bingyuanlang.cn/zb_users/upload/2024/10/202410071728281835211828.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;master主机执行：100线程，使用conf配置文件，运行hello程序&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;mpirun&amp;nbsp;-n&amp;nbsp;100&amp;nbsp;-f&amp;nbsp;conf&amp;nbsp;./hello&lt;/pre&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;完毕。&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 24px;&quot;&gt;常见问题：&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;1、为什么ssh node1连接失败&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;答：请注意/etc/hosts文件是否更改成功，ip地址是否对应正确，目标主机ssh是否开启&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;2、为什么单机能运行，但是集群无法运行&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;答：请给节点文件权限，chmod 777 hello&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;3、&lt;span style=&quot;font-family: Calibri;&quot;&gt;HYDU_sock_connect (utils/sock/sock.c:141): unable to connect from &amp;quot;byl-virtual-machine&amp;quot; to &amp;quot;byl-virtual-machine&amp;quot; (Connection refused)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;答：修改主机名为对应的节点名称即可。将/etc/hostname和/etc/hosts修改。&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;img src=&quot;https://blog.bingyuanlang.cn/zb_users/upload/2024/10/202410071728282172779696.png&quot; alt=&quot;image.png&quot;/&gt;&lt;img src=&quot;https://blog.bingyuanlang.cn/zb_users/upload/2024/10/202410071728282188563291.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Mon, 07 Oct 2024 14:34:45 +0800</pubDate></item></channel></rss>