Solaris 10 资源管理器开发者指南

确定资源池中的 CPU 数

sysconf(3C) 提供有关整个系统中的 CPU 数的信息。以下示例提供了用于确定特定应用程序的池 pset 中所定义 CPU 数的粒度。

本示例的要点包括以下内容:

pool_value_t *pvals[2] = {NULL};  /* pvals[] should be NULL terminated */



/* NOTE: Return value checking/error processing omitted */

/* in all examples for brevity */



conf_loc = pool_dynamic_location();

conf = pool_conf_alloc();

pool_conf_open(conf, conf_loc, PO_RDONLY);

my_pool_name = pool_get_binding(getpid());

my_pool = pool_get_pool(conf, my_pool_name);

pvals[0] = pool_value_alloc();

pvals2[2] = { NULL, NULL };

pool_value_set_name(pvals[0], "type");

pool_value_set_string(pvals[0], "pset");



reslist = pool_query_pool_resources(conf, my_pool, &nelem, pvals);

pool_value_free(pvals[0]);

pool_query_resource_components(conf, reslist[0], &nelem, NULL);

printf("pool %s: %u cpu", my_pool_ name, nelem);

pool_conf_close(conf);