linux下getrlimit与sysconf函数
#include <stdio.h>
#include <sys/time.h>
#include <sys/resource.h> int main(int argc, char *argv[])
{
struct rlimit nofile_rlmt;
if (getrlimit(RLIMIT_NOFILE, &nofile_rlmt) != -1) {
printf("获取进程最大能打开的文件描写叙述符个数信息:\n"
"rlim_cur(Soft limit):%d"
"\nrlim_max(Hard limit (ceiling for rlim_cur)): %d\n",
nofile_rlmt.rlim_cur, nofile_rlmt.rlim_max);
}
}
getrlimit与setlimit函数具体解释能够參照:
http://www.cnblogs.com/niocai/archive/2012/04/01/2428128.html
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h> //sysconf #define ONE_MB (1024 * 1024) int main(int argc, char **argv[])
{
long num_cpu = sysconf(_SC_NPROCESSORS_ONLN);
printf("CUP的个数:%ld\n", num_cpu); long page_size = sysconf(_SC_PAGESIZE);
printf("系统页面的大小:%ld K\n", page_size);
long num_pages = sysconf(_SC_PHYS_PAGES);
printf("系统中物理页面个数:%ld 个\n", num_pages);
long free_pages = sysconf(_SC_AVPHYS_PAGES);
printf("系统中可用的页面个数:%ld 个\n", free_pages);
long long mem = (long long)((long long)num_pages * (long long)page_size);
mem /= ONE_MB;
long long free_mem = (long long)((long long)free_pages * (long long)page_size);
free_mem /= ONE_MB;
printf("总共同拥有 %lld MB的物理内存,空暇的物理内存有 %lld MB\n", mem, free_mem); long open_max = sysconf(_SC_OPEN_MAX);
printf("每一个进程最大打开的文件个数:%ld\n", open_max); return 0;
}
sysconf、pathconf、fpathconf函数具体解释參照:
http://xingyunbaijunwei.blog.163.com/blog/static/7653806720119122344450/
linux下getrlimit与sysconf函数的更多相关文章
- Linux下精确控制时间的函数
Linux下精确控制时间的函数 在测试程序接口运行时间的时候,常用time,gettimeofday等函数,但是这些函数在程序执行的时候是耗费时间的,如果仅仅测试时间还行,但是如果程序中用到时间控制类 ...
- Linux Linux下特殊的printf函数和fputs函数
Linux下,printf函数必须以'\n'结尾才会立刻输出到屏幕,如果没有'\n'直到输出缓冲区满了以后才会打印到屏幕上(敲击换行也算),如果需要不换行的输出,一般可以使用write函数代替.'\n ...
- linux下时间有关的函数和结构体
1.时间类型.Linux下常用的时间类型有6个:time_t,struct timeb, struct timeval,struct timespec,clock_t, struct tm. (1) ...
- (转)linux下execl和system函数
linux下,system函数和execl函数都是用于执行一条系统命令.今天仔细看了system函数的实现,想找出和execl函数的差别. 这里先进行一些背景知识补充: fork(创建一个新的进程): ...
- Linux系统调用--getrlimit()与setrlimit()函数详解
http://www.cnblogs.com/niocai/archive/2012/04/01/2428128.html 功能描述:获取或设定资源使用限制.每种资源都有相关的软硬限制,软限制是内核强 ...
- Linux系统调用--getrlimit()与setrlimit()函数详解【转】
转自:http://www.cnblogs.com/niocai/archive/2012/04/01/2428128.html 功能描述:获取或设定资源使用限制.每种资源都有相关的软硬限制,软限制是 ...
- ubuntu Linux下C语言open函数打开或创建文件与read,write函数详细讲解
open(打开文件) 相关函数 read,write,fcntl,close,link,stat,umask,unlink,fopen 表头文件 #include<sys/types.h> ...
- linux下confstr与uname函数_获取C库与内核信息
#include <stdio.h> #include <sys/utsname.h> //uname int main(int argc, char **argv[]) { ...
- Linux 下的静态(函数)库、动态(函数)库
0. 基本 在命名上,静态库的名字一般是 libxxx.a,动态库的名字一般是 libxxx.so,有时 libxxx.so.major.minor,xxx 是该 lib 的名字,major 是主版本 ...
随机推荐
- laravel5.4中{{$name}} 和 {{!! $name !!}} 的区别:后者原生输出。前者转义
- ArchLinux新版本(pacstrap安装)及国内较优源推荐
下载安装镜像和配置虚拟机都略过. 进入安装模式以后第一件事是要进行分区,分区很重要,怎么分区是由后面的grub的模式来决定的.grub有3种模式,分别对应grub-bios-gpt,grub-bios ...
- RabbitMQ3.6.3集群搭建+HAProxy1.6做负载均衡
目录 目录 1.基本概念 1.1.RabbitMQ集群概述 1.2.软件负载均衡器HAProxy 2.RabbitMQ的配置步骤 2.1.安装 Erlang.RabbitMQ 2.2.修改 /etc/ ...
- Android oncreate onupgrade什么时候被调用
在学习Android数据库SQLite之前,必须意识到这一点,目前在Android系统中集成的是SQLite3 版本,SQLite是一个开源的嵌入式数据库,他支持NULL.INTEGER.REAL.T ...
- nginx实战五
nginx用户认证 https://coding.net/u/aminglinux/p/nginx/git/blob/master/access/auth.md 当访问一些私密资源时,最好配置用户认证 ...
- java 随机日期
java 在某个范围日期内获取一个日期,再以这个日期作为开始日期,获取到随机n天后的日期 /** * 在beginDate和endDate之间获取一个随机日期作为开始日期 * @param begin ...
- mysql-5.7 innodb_buffer_pool刷新机制详解
一.innodb的脏页刷新机制说明: 1.当innodb中的脏页比例超过innodb_max_dirty_pages_pct_lwm的值时,这个时候innodb就会开始刷新脏页到磁盘. 2.当inno ...
- NodeJS错误处理最佳实践
NodeJS的错误处理让人痛苦,在很长的一段时间里,大量的错误被放任不管.但是要想建立一个健壮的Node.js程序就必须正确的处理这些错误,而且这并不难学.如果你实在没有耐心,那就直接绕过长篇大论跳到 ...
- Spring中三种配置Bean的方式
Spring中三种配置Bean的方式分别是: 基于XML的配置方式 基于注解的配置方式 基于Java类的配置方式 一.基于XML的配置 这个很简单,所以如何使用就略掉. 二.基于注解的配置 Sprin ...
- 单例设计模式-java
在实际项目中单例模式常见应用场景列举如下: 1.servlet编程中,每个servlet就是单例 2.网站计数器,和Application(servlet中涉及) 3.Strucs1框架中,控制器对象 ...