2)Windows7 上安装,以管理员身份运行 setup.exe
3) 选择只安装 TimesTen Client:
4) 安装步骤的最后一步,让安装程序自动注册 TimesTen 的环境变量。
5)ODBC 中添加一个数据源,选择 TimesTen Client:
(64 位系统上打开 32 位 ODBC 管理器需要在 cmd 运行%systemdrive%\Windows\SysWoW64\Odbcad32.exe)
6) 点击 Servers 按钮,配置 TimesTen 服务器端口。
7) 在这个界面点 Add 添加一个服务器:
8) 服务器地址及端口号:
端口号可以通过在服务器上执行 ttstatus 获得:
-bash-3.2$ ttstatus
TimesTen status report as of Tue Aug 27 10:51:21 2013
Daemon pid 650 port 53380 instance tt1121
TimesTen server pid 14608 started on port 53381 ? =========53381 端口
9) 选择服务器,填写 DSN ,用户名密码可填写,不填写的话会要求在连接时再输入。
10) 重新启动 sql developer ,因为安装客户端时注册了环境变量,再次启动 sql developer 会发现新建数据库连接页出现了 TimesTen 选项:
DPDK管理的内存有个很有用的特点--同一块物理内存在不同的进程地址空间中,虚拟地址是一样的。DPDK的内存管理需要了解hugepage。
顾名思义,就是大的内存,不用频繁申请多块内存。页表减少,同时页表占用内存也会减少,地址转换也减少了(多个页表地址关联,需要地址转换,形成连续内存),地址转换一般保存在cpu缓存中,这样就减小了cpu的压力。
可以在dpdk主程序运行前,用shell脚本提前获取大页内存,获取方式根据NUMA和no-NUMA系统有所不同。
DPDK管理的内存都是通过hugepage预留的,这个函数主要获取预留的内存的信息,获取方法是读取 /sys/kernel/mm/hugepages 下的文件
NUMA:一个物理cpu和一组内存(可能多核)构成一个node,每个cpu可以访问自己node下的内存,也可以访问其他node的内存,但是访问速度是不一样的,自己node下的更快。
现在大部分cpu都是NUMA架构。
NUMA system:
#
# Creates hugepages on specific NUMA nodes.
#
set_numa_pages()
{
if [ "${HUGEPGSZ}" == "1048576kB" ]then
echo "no need get hugepages from linux"
else
clear_huge_pages
echo >.echo_tmp
for d in /sys/devices/system/node/node? do
echo "echo $Pages >$d/hugepages/hugepages-${HUGEPGSZ}/nr_hugepages" >>.echo_tmp
done
echo "Reserving hugepages"
sudo sh .echo_tmp
rm -f .echo_tmp
create_mnt_huge
fi
}
non-NUMA system:
# Creates hugepages on non-numa system
set_non_numa_pages()
{
if [ "${HUGEPGSZ}" == "1048576kB" ]then
echo "no need get hugepages from linux"
else
clear_huge_pages
echo "echo $Pages >/sys/kernel/mm/hugepages/hugepages-${HUGEPGSZ}/nr_hugepages" >.echo_tmp
echo "Reserving hugepages"
sudo sh .echo_tmp
rm -f .echo_tmp
create_mnt_huge
fi
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)