linux cpu亲和性设置
1、设置进程的cpu亲和性程序如下,
#Using:g++ setCpuAffinity.c -o setCpuAffinity #include<sys/types.h>
#include<sys/sysinfo.h>
#include<unistd.h> //#define __USE_GNU
#include<sched.h>
#include<ctype.h>
#include<string.h>
#include<stdio.h>
#include<stdlib.h> int main(int argc, char* argv[])
{
int num = sysconf(_SC_NPROCESSORS_CONF);
int created_thread = ;
int myid, pid;
int i;
int j = ; cpu_set_t mask;
cpu_set_t get; if (argc < )
{
printf("usage : ./setAffinity pid num1,num2,..,numn \n");
exit();
} pid = atoi(argv[]);
CPU_ZERO(&mask);
for (i = ; i < argc; i++)
{
myid = atoi(argv[i]);
CPU_SET(myid, &mask);
}
if (sched_setaffinity(pid, sizeof(mask), &mask) == -)
{
printf("warning: could not set CPU affinity, continuing...\n");
} else {
printf("sched_setaffinity succeed !!!\n"); }
}
2、获取进程的CPU亲和性程序如下,
#Using:g++ getCpuAffinity.c -o getCpuAffinity #include<sys/types.h>
#include<sys/sysinfo.h>
#include<unistd.h> //#define __USE_GNU
#include<sched.h>
#include<ctype.h>
#include<string.h>
#include<stdio.h>
#include<stdlib.h> int main(int argc, char* argv[])
{
int num = sysconf(_SC_NPROCESSORS_CONF);
int pid;
int i; cpu_set_t get; if (argc != )
{
printf("usage : ./setAffinity pid \n");
exit();
} pid = atoi(argv[]); CPU_ZERO(&get);
if (sched_getaffinity(pid, sizeof(get), &get) == -)
{
printf("warning: cound not get cpu affinity, continuing...\n");
}
for (i = ; i < num; i++)
{
if (CPU_ISSET(i, &get))
{
printf("this process %d is running processor : %d\n", pid, i);
}
}
}
linux cpu亲和性设置的更多相关文章
- Linux CPU 亲和性
在Linux中,我们知道可以通过nice.renice命令改变进程的执行优先级,优先级高的进程优先执行,从而一定程度上保证重要任务的运行. 除了nice.renice外,可以通过CPU affinit ...
- Linux中CPU亲和性(affinity)
0.准备知识 超线程技术(Hyper-Threading):就是利用特殊的硬件指令,把两个逻辑内核(CPU core)模拟成两个物理芯片, 让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和 ...
- 关于CPU亲和性的测试
今天看到运维的同事在配置nginx的CPU亲和性时候,运维同事说他在所有的机器上都是按照8核的方式来配置worker进程的CPU亲和性的. 但我觉得就是有点不太对劲,就查了一下nginx的处理work ...
- 设置进程的cpu亲和性
在busybox中提供了一个名叫taskset的命令用于设置进程的cpu亲和性,让指定的进程或者程序在指定的cpu上面运行,该程序是通过调用sched_getaffinity和sched_setaff ...
- 【转】 管理CPU 亲和性
简单地说,CPU 亲和性(affinity) 就是进程要在某个给定的 CPU 上尽量长时间地运行而不被迁移到其他处理器的倾向性.Linux 内核进程调度器天生就具有被称为 软 CPU 亲和性(affi ...
- Linux CPU亲缘性详解
前言 在淘宝开源自己基于nginx打造的tegine服务器的时候,有这么一项特性引起了笔者的兴趣.“自动根据CPU数目设置进程个数和绑定CPU亲缘性”.当时笔者对CPU亲缘性没有任何概念,当时作者只是 ...
- cpu亲和性绑定
将进程与cpu绑定,最直观的好处就是减少cpu之间的cache同步和切换,提高了cpu cache的命中率,提高代码的效率.从cpu架构上,NUMA拥有独立的本地内存,节点之间可以通过互换模块做连接和 ...
- 【操作系统之十二】分支预测、CPU亲和性(affinity)
一.分支预测 当包含流水线技术的处理器处理分支指令时就会遇到一个问题,根据判定条件的真/假的不同,有可能会产生转跳,而这会打断流水线中指令的处理,因为处理器无法确定该指令的下一条指令,直到分支执行完毕 ...
- CentOS Linux服务器安全设置
转自:http://www.osyunwei.com/archives/754.html 引言: 我们必须明白:最小的权限+最少的服务=最大的安全 所以,无论是配置任何服务器,我们都必须把不用的服务关 ...
随机推荐
- URL中增加BASE64加密的字符串引起的问题(java.net.MalformedURLException:Illegal character in URL)
序 昨天在做一个 Demo 的时候,因为是调用第三方的接口,採用的是 HTTP 的通信协议,依照文档上的说明,须要把參数进行加密后增加到 URL 中.可是,就是这个看似普普通通的操作,却让我着实费了非 ...
- SQL学习之空值(Null)检索
在创建表表,我们可以指定其中的列包不包含值,在一列不包含值时,我们可以称其包含空值null. 确定值是否为null,不能简单的检查是否=null.select语句有一个特殊的where子句,可用来检查 ...
- Web数据库的UI框架 Evolutility
Evolutility 这个框架通过一个XML文件的定义,能够为一个数据对象(数据库中的一张表)来自动生成List,View,Edit,Delete,Search,Advance Search等视图, ...
- CentOS安装常用软件
下载第三方库rpmforge,找到合适自己版本的rpmforge下载,用以支持NTFS格式硬盘和MP3格式音频或其他 http://pkgs.repoforge.org/rpmforge-releas ...
- asp.net、html、javascript等比较有用的网站
Learn模块下web.mvc.razor等. http://www.asp.net/ 包括html.javascript.jquery.xml等教程. http://www.w3school.com ...
- python正则表达式实例
1.将"(332.21)luck李."中(332.21)抽取出来同时能够 将”(23)luck李.“中的(23)抽取出来 pp = re.compile('(\(\d*(.\d*) ...
- 容易被误解的overflow:hidden
http://www.ofcss.com/2011/03/20/misunderstood-of-overflow-hidden.html(转) 容易被误解的overflow:hidden 15条评论 ...
- C++の友元の例
#include<iostream> #include<cmath> using namespace std; class Point { public: Point(doub ...
- FORM表单不刷新提交POST数据
很多时候表单太多项,JQ懒的去处理了 使用这个提交吧.和她讨论出去旅游,去哪里好呢,此时还和以前一样吗? function testaction(){ var f = $("#publish ...
- JAVA并发,CyclicBarrier
CyclicBarrier 翻译过来叫循环栅栏.循环障碍什么的(还是有点别扭的.所以还是别翻译了,只可意会不可言传啊).它主要的方法就是一个:await().await() 方法没被调用一次,计数便会 ...