简介:许多朋友询问了Python代码占有多少记忆。本文的首席执行官注释将为您提供详细的答案,以供您参考。我希望这对每个人都会有所帮助!让我们一起看看!
我用来编写的Vscode还不错。笔记本中8G内存的主流笔记本基本上可以胜任。硬件不高
您可以检测到它
在工作中,您需要根据某个应用程序中的记忆力来决定执行某些操作,因此您需要编写一个小工具来模拟应用程序的应用程序。以下是我编写的Python脚本的实现。
#!/usr/bin/python
# - * - 编码:UTF-8 - * -
导入系统
导入
导入时间
def print_help():
打印“用法:”
打印“ Python Mem.py 100MB”
打印“ Python Mem.py 1GB”
如果__name__ ==“ __ -main __”:
如果Len(sys.argv)== 2:
模式= re.compile('^(d*)([m | g] b)$')
match = pattern.match(sys.argv [1] .upper())
如果匹配:
num = int(match.group(1))
单位= match.group(2)
如果单位=='MB':
s ='' *(num * 1024 * 1024)
别的:
s ='' *(num * 1024 * 1024 * 1024)
时间。
别的:
print_help()
别的:
print_help()
使用方法如下:
python mem.py 100m
Python Mem.py 1G1212
这是对操作系统的限制,该操作系统与Python无直接相关,因为Python是无限的。
32-位系统:Windows下的单个进程可以使用2G内存;Linux下的单个进程可以使用4G内存。
64-位系统:
Windows单进程基于Intel Itanium可以用于7TB,Windows 8.1和Windows Server 2012
R2:可用128,其他版本TBX64:8 TB
但是,Windows系统不同版本的最大物理内存号也受到限制。例如,64位Win7家族的基本版本只能识别8G内存,而专业版或更高版本可以识别192G的内存。
Linux下的不同发布者或不同的内核编译参数也将具有不同的限制,但根据T进行计算。
当我们有一个长长的任务队列(mission_list)和与阈值相对应的过程输入时,我们通常使用以下方法来处理:
但是,如果此任务列表很长,并且处理功能很复杂(占用CPU),则通常需要长时间处理单个核心。目前,多进程可以大大提高我们程序的运行速度。相关内容可以大大改进。可以大大改进相关内容。请从基于Processes-Python 3.10.4的多处理中学习--- Python 3.10.4文档。
在上述情况下,建议您使用最简单的进程池+地图方法进行处理。标准写作,大块必须从官方声明中学习,最好要变得更大:
但是!InterectionSigntersectionIntertements如果我们的任务列表非常长,这将导致多过程在该过程破裂之前运行,并且该任务无法完成。目前,我们有几种优化方法:
有三种开始过程的方法。您可以参考官方文件:
[图片上传失败...(Image-48CD3C-165051153989)]]]
在Linux环境中,使用Forkserver可以节省大量的内存空间,因为该过程启动了服务,该服务不会复制主过程的数据。
使用IMAP将大大节省空间,它返回迭代器,即结果列表:
但是请注意,在上面的写作中,您编写的结果的迭代必须写下来。或以另一种方式使用:
还有最后一个。当您的任务列表太大时,它会导致您在生成任务列表时破坏内存。此时,您可以使用屈服字段将其封装为迭代器并将其传递到过程池中:
这样,我们封装了Mission_List,这是一个迭代对象,在获取数据时将数据拉到内存中
我将后两个方法组合在一起。原始的256G内存还不够,但是修改后的内存仅少于10克。
您询问Python安装程序包。如果大约是29m,那就足够了,不足以占据内存。
最大内存受到操作系统的限制,该操作系统与Python无直接相关,因为Python是无限的。
ABC是一种由Guido.In Guido本人设计的教学语言,ABC的语言非常美丽和强大,是为非专业程序员设计的。但是,ABC语言尚未成功。出于原因,Guido认为它没有开放。Guido决心避免在Python中进行此错误。同时,他还想实现在ABC中闪烁但尚未实现的东西。
扩展信息:
一种和大多数其他语言(例如C)之间的区别在于,模块的边界是由每行在该线路位置的位置确定的(并且C语言使用一对物体{}为清除边界该模块与角色的位置无关)。这引起了争议。
因为由于语言的诞生(例如C),语言的语法含义与字符的排列分开,这被认为是编程语言的进度。所有需要使用模块,例如if,for for function定义的地方)。
参考信息来源:百度百科全书
结论:以上是首席CTO注释的Python代码的全部内容,以占用记忆的Python代码。我希望这对每个人都会有所帮助。如果您想进一步了解这一点,请记住要收集对该网站的关注。