Linux上获取CPU Core个数的实现
Linux上获取CPU Core个数的实现
可以通过多种手段取得CPU Core的个数,如:
1) 调用系统提供的函数get_nprocs(),可以在头文件sys/sysinfo.h中发现它
2) 借助系统提供的sysconf()函数:sysconf(_SC_NPROCESSORS_CONF)、sysconf(_SC_NPROCESSORS_ONLN),get_nprocs()也有个相应的get_nprocs_conf()
3) 通过解析/proc/cpuinfo实现
uint16_t get_cpu_number()
{
FILE* fp = fopen("/proc/cpuinfo", "r");
if (NULL == fp) return 1;
char line[LINE_MAX];
uint16_t cpu_number = 0;
sys::CloseHelper<FILE*> ch(fp);
while (fgets(line, sizeof(line)-1, fp))
{
char* name = line;
char* value = strchr(line, ':');
if (NULL == value)
continue;
*value++ = 0;
if (0 == strncmp("processor", name, sizeof("processor")-1))
{
if (!util::CStringUtil::string2uint16(value, cpu_number))
{
return 0;
}
}
}
return (cpu_number+1);
}
Linux上获取CPU Core个数的实现的更多相关文章
- linux下查看cpu物理个数和逻辑个数 - chw1989的专栏 - 博客频道 - CSDN.NET
body { font-family: 微软雅黑,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLi ...
- Linux系统获取CPU温度
Linux系统获取CPU温度 摘自:https://jingyan.baidu.com/article/cbf0e500407d072eab289343.html 各位好,本篇将简单介绍如何在不同系列 ...
- 查看数量linux下查看cpu物理个数和逻辑个数
首先声明,我是一个菜鸟.一下文章中出现技术误导情况盖不负责 hadoop@chw-desktop3:~$ cat /proc/cpuinfo processor : 0 vendor_id : Gen ...
- linux下查看cpu物理个数和逻辑个数
hadoop@chw-desktop3:~$ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 15 ...
- Linux下判断cpu物理个数、几核
自己服务器的输出 1. 查看物理CPU的个数 #cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l 1 2. 查 ...
- 第二章 在Linux上部署.net core
项目目标部署环境:CentOS 7+ 项目技术点:.netcore2.0 + Autofac +webAPI + NHibernate5.1 + mysql5.6 + nginx 开源地址:https ...
- .NET平台系列27:在 Linux 上安装 .NET Core/.NET5/.NET6
系列目录 [已更新最新开发文章,点击查看详细] .NET 在不同的 Linux 发行版上可用. 大多数 Linux 平台和发行版每年都有一个主要版本,并提供用于安装 .NET 的包管理器. 本 ...
- Linux c 获取cpu使用率
部分代码改编自来自http://blog.csdn.net/primeprime/article/details/41458731 主要的原理就是获取top -n 1 | grep Cpu执行的结果, ...
- Linux c 获取cpu使用率(2)
上一篇博文当中,我们谈论了在Linux中如何获取执行命令行的结果,最终得到cpu的 使用率,但是十分不幸的事情是: 1)通过top -n 1 | grep Cpu获取的cpu使用率不会刷新,每次读取结 ...
随机推荐
- socket链接循环
server------------------------#!/usr/bin/env python # encoding: utf-8 # Date: 2018/6/5 import socke ...
- 解决 mysql 数据库 挂掉了
问题 : mysql运行几天之后就挂掉了 , 修改了mysql 的连接数也解决不了,看代码也没有什么问题,但就是感觉哪个功能一直占着mysql资源,查了一下当前的线程状态 time的单位是 秒 , 可 ...
- 04_java之基本语法02
01switch语句解构 * A:switch语句解构 a:switch只能针对某个表达式的值作出判断,从而决定程序执行哪一段代码. b:格式如下: swtich(表达式){ case 常量1 : 要 ...
- nginx 代理http配置实例
#user nginx; worker_processes ; #error_log /var/log/nginx/error.log warn; #pid /var/run/nginx.pid; e ...
- 4、数据类型二:Lists
1.关于list的组织形式 列表数据类型(Lists)可以存储一个有序的字符串列表,常用的操作时向列表两段添加元素,或者获取列表的某一个片段.列表类型的底层实现是一个双向链表(double linke ...
- BDE View not exists
Table does not exist. [Microsoft][ODBC SQL Server Driver][SQL Server]对象名 'vw1' 无效.
- 修改SecureCRT终端的Home和End功能键。
SecureCRT真是个不错的ssh客户端工具,但在使用时发现跟自己的一些使用习惯不符合,例如home.end.pageup.pagedown和delete等键. 默认情况下一些按键的功能如下: pa ...
- 3.Hadoop集群搭建之Zookeeper安装
前期准备 下载Zookeeper 3.4.5 若无特殊说明,则以下操作均在master节点上进行 1. 解压Zookeeper #直接解压Zookeeper压缩包 tar -zxvf zookeepe ...
- Scala操作MongoDB
Scala操作MongoDB // Maven <dependencies> <dependency> <groupId>org.mongodb</group ...
- Spark 性能相关参数配置详解-shuffle篇
随着Spark的逐渐成熟完善, 越来越多的可配置参数被添加到Spark中来, 在Spark的官方文档http://spark.apache.org/docs/latest/configuration. ...