Ubuntu18.04配置OAI:准备工作

1、安装低延迟内核

如下图所示输入命令:

在这里插入图片描述

安装成功后:
在这里插入图片描述

2、关闭CPU变频功能(Disable CPU Frequency scaling)

首先,安装 cpufrequtils:

sudo apt-get install cpufrequtils

在这里插入图片描述
在这里插入图片描述
其次,编辑下列文件(如果不存在在,则进行创建):

sudo nano /etc/default/cpufrequtils

并在文件中添加如下一行:

GOVERNOR="performance" //意思是以最大频率运行

在这里插入图片描述
保存并退出即可。

为了防止重启系统后,上述设置被还原,需要进行如下操作:

sudo update-rc.d ondemand disable //ondmand是动态调控频率

出现的问题:

can not find a LSB script for ondemand

在这里插入图片描述
看来此命令不适用于此时的情况,试试接下来的第二句命令。

sudo /etc/init.d/cpufrequtils restart

在这里插入图片描述
可以检查一下频率设置的命令:

cpufreq-info

在这里插入图片描述

输入命令后,将显示CPU所具有的每个内核的信息。只需检查所有设置是否都处于性能模式,并以处理器的最大速度就可以了。

扩展

Linux内核支持的所有调控器:

  1. performance以最大频率运行CPU。
    2)powersave以最小频率运行CPU。
    3)userspace以用户指定的频率运行CPU。
    4)ondemand根据当前负载动态缩放频率。跳到最高频率,然后可能随着空闲时间的增加而减小。
  2. conservative根据当前负载动态缩放频率。比按需逐步调整频率。
    6)schedutil调度程序驱动的CPU频率选择
    关于调控的详细介绍,可以看这个文档:
    https://www.kernel.org/doc/Documentation/cpu-freq/governors.txt

3、电源管理(Power management)

首先,先查看一下自己的CPU核心数以及频率。
终端输入命令:watch grep “cpu MHz” /proc/cpuinfo
查询结果如下:可以发现CPU为12核(实际上每个核心的频率是实时在变的)
在这里插入图片描述

sudo vi /etc/default/grub
#在末尾添加:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_pstate=disable"
GRUB_CMDLINE_LINUX_DEFAULT="quiet processor.max_cstate=1 intel_idle.max_cstate=0 idle=poll"

在这里插入图片描述
在这里插入图片描述

sudo vi /etc/modprobe.d/blacklist.conf
#在末尾添加:(将Intel的电源管理加入黑名单)
blacklist intel_powerclamp

在这里插入图片描述

重启电脑

sudo reboot

接下来,安装i7z utility 去检查电脑CPU

sudo apt-get install i7z

输入

sudo i7z

下面是i7z的示例输出。CPU的频率变化不应该超过1-2赫兹,并且不应该是除C0以外的任何C状态。
在这里插入图片描述
由结果可以发现,此步安装成功了。

扩展:关于Vim文件编辑器中使用到的常见命令

因为多个地方用到了vim命令,所以需要花一定时间了vi编辑器的常用命令。
vi编辑器有三种状态:命令模式、末行模式、编辑模式。我们目前使用到的是编辑模式,以下是常用的命令:
命令模式切入编辑模式命令如下:
i:从光标处之前插入

I:跳到光标所在行行首插入

a:从光标之后插入

A:跳到光标所在行行末插入

o:(字母o)在光标所在行,及其下一行之间新增一空白行,光标跳到空白行行首

O:(字母O)在光标所在行,及其上一行之间新增一空白行,光标跳到空白行行首

:q :不保存已有的编辑,退出vi编辑器

:wq :保存编辑并退出

注意:

由于不同的内核/程序包冲突,不能在同一台计算机上运行OAI eNB和OAI EPC。所以,如果要搭建整个OAI仿真环境,需要两台电脑分别安装eNB和corenetwork模块进行配置仿真。搭建EPC的系统需要将更换内核,由于eNB对系统的性能要求较高,所以搭建eNB的系统需要将内核换成低延时内核(更换低延时内核在上面的步骤中已经完成)。
因为完整的OAI环境可进行的仿真模式有三种,我只需要用到eNB + UE仿真模式(主要用来验证PRACH仿真):eNB + UE两者都只用到了物理层(PHY),MAC 及以上的层都没有用到。适合用来验证和实现物理层的算法。

猜你喜欢

转载自blog.csdn.net/qq_27538633/article/details/114976121