Linux内核中是怎么实现min和max函数

Linux内核中是怎么实现min和max函数,第1张

如果要看这两个函数在标准库中的定义用ctags或cscope生成索引.h,cscope,可以跳转到函数定义,man malloc,声明见stdlib。 如果仍然找不到,可以用ctags,si或grep。 windows下用source insight也可,然后查找函数定义,用grep -r 搜索关键字

你在mymin.c文件中调用printf函数

前提在你mymin.c文件头包含了其他的文件而这个文件里有包含stdio.h文件

那你在mymin.c文件里可以不包含stdio.h文件

看了下你文件的编写

还是不合规范

帮你改下:

/*ex_min.h*/

#ifndef

_ex_min_h

#define

_ex_min_h

#include<stdio.h>

int

min(int

n1,int

n2)

#endif

/*ex_min.c*/

#include

"ex_min.h"

int

min(int

n1,int

n2)

{

printf("调用min\n")

if(n1>n2)

return

n1

else

return

n2

}

/*mymin.c*/

#include

"ex_min.h"

int

main()

{

int

n1,n2,n3

scanf("%d,%d",&n1,&n2)

n3=min(n1,n2)

printf("%d",n3)

}

swap是一块磁盘空间或者一个本地文件/proc/sys/vm/swappiness 可以设置服务器使用 swap 的积极程度。取值范围为0-100,值越大,越积极使用swap,更倾向于回收匿名页值越小,越消极使用swap,更倾向于回收文件页。 即使swap设置为0,当剩余内存+文件页小于页高阈值( pages_high )的时候,也会发生swap Linux有专门的内核线程 kswapd0 定期回收内存,为了衡量内存的使用情况, kswapd0 定义了三个内存阈值:页最小阈值 pages_min 、页低阈值 pages_low 和页高阈值 pages_high ,剩余内存使用 pages_free 表示。kswapd0 定期扫描内存的使用情况,并根据剩余内存和这三个阈值的关系进行内存回收 *** 作。pages_free <pages_min :进程可用内存耗尽,只有内核才可以分配内存pages_min <pages_free <pages_low :内存压力较大, kswapd0 会执行内存回收,直到剩余内存大于高阈值为止pages_low <pages_free <pages_high :内存有一定压力,但还可以满足新内存请求pages_free >pages_high :剩余内存较多,没有内存压力。 这些阈值可以通过内核选项来 proc/sys/vm/min_free_kbytes 间接设置。 min_free_kbytes 设置了页最小阈值( pages_min )。 pages_low=pages_min*5/4 , pages_high=pages_min*3/2 /etc/security/limits.conf通过这个配置文件可以对每个登录的会话进行限制,这种限制不是全局的,也不是永久的,只在会话期间起作用。 通常,对单个用户的限制优先级高于对用户组的限制 可以使用以下方式限制内存使用 语法<domain><type><item><value> 详见 limits.conf(5) - Linux man page /proc/sys/vm/overcommit_memory 控制内核使用虚拟内存的模式,可以设置为以下值


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7102153.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-01
下一篇2023-04-01

发表评论

登录后才能评论

评论列表(0条)

    保存