相关疑难解决方法(0)

建议使用哪种Python内存分析器?

我想知道我的Python应用程序的内存使用情况,并且特别想知道哪些代码块/部分或对象占用了大部分内存.Google搜索显示商业广告是Python Memory Validator(仅限Windows).

开源的是PySizerHeapy.

我没有尝试任何人,所以我想知道哪一个是最好的考虑:

  1. 提供大部分细节.

  2. 我必须对代码进行最少或不做任何更改.

python performance profiling memory-management

657
推荐指数
8
解决办法
22万
查看次数

Python进程使用的总内存?

有没有办法让Python程序确定它当前使用了多少内存?我已经看过有关单个对象的内存使用情况的讨论,但我需要的是进程的总内存使用量,以便我可以确定何时需要开始丢弃缓存数据.

python memory-management

229
推荐指数
10
解决办法
20万
查看次数

Linux上"ru_maxrss"的单位是什么?

这是来自 man getrusage

struct rusage {
    struct timeval ru_utime; /* user time used */
    struct timeval ru_stime; /* system time used */
    long   ru_maxrss;        /* maximum resident set size */
    long   ru_ixrss;         /* integral shared memory size */
    long   ru_idrss;         /* integral unshared data size */
    long   ru_isrss;         /* integral unshared stack size */
    long   ru_minflt;        /* page reclaims */
    long   ru_majflt;        /* page faults */
    long   ru_nswap;         /* swaps */
    long   ru_inblock;       /* block input operations */
    long   ru_oublock; …
Run Code Online (Sandbox Code Playgroud)

c linux memory memory-management getrusage

13
推荐指数
2
解决办法
7158
查看次数

Linux中的getrusage是否被破坏(2.6.30)

这段代码

 void print_usage(char * msg)
{
    struct rusage usage;
    getrusage(RUSAGE_SELF, &usage);
    printf("Limits: %s\n", msg);
    printf("  %s, %li\n",  " maximum resident set size "    , usage.ru_maxrss  );
    printf("  %s, %li\n",  " integral shared memory size "  , usage.ru_ixrss   );
    printf("  %s, %li\n",  " integral unshared data size "  , usage.ru_idrss   );
    printf("  %s, %li\n",  " integral unshared stack size " , usage.ru_isrss   );
    printf("  %s, %li\n",  " page reclaims "                , usage.ru_minflt  );
    printf("  %s, %li\n",  " page faults "                  , …
Run Code Online (Sandbox Code Playgroud)

c linux linux-kernel getrusage

6
推荐指数
1
解决办法
2402
查看次数

计算python中代码的计算时间和内存

有些人可以帮我看看如何在python中找到代码需要多少时间和内存?

python

6
推荐指数
2
解决办法
1万
查看次数

生成器使用项[n-1] + item [n]内存

我有一个Python 3.x程序,它处理几个包含大量数据的大型文本文件,这些文件偶尔可以刷掉我的微不足道工作站的内存限制.从一些基本的内存分析来看,似乎在使用生成器时,我的脚本的内存使用量可以保存连续的元素,使用的内存量是我预期的两倍.

我做了一个简单的,独立的例子来测试生成器,我在Python 2.7,3.3和3.4中得到了类似的结果.我的测试代码如下,memory_usage()是一个SO函数的修改版本,在我看的时候使用/proc/self/status和同意top. resource可能是一个更跨平台的方法:

import sys, resource, gc, time

def biggen():
    sizes = 1, 1, 10, 1, 1, 10, 10, 1, 1, 10, 10, 20, 1, 1, 20, 20, 1, 1
    for size in sizes:
        data = [1] * int(size * 1e6)
        #time.sleep(1)
        yield data

def consumer():
    for data in biggen():
        rusage = resource.getrusage(resource.RUSAGE_SELF)
        peak_mb = rusage.ru_maxrss/1024.0
        print('Peak: {0:6.1f} MB, Data Len: {1:6.1f} M'.format(
                peak_mb, len(data)/1e6))
        #print(memory_usage()) # 

        data = …
Run Code Online (Sandbox Code Playgroud)

python memory-management

6
推荐指数
1
解决办法
113
查看次数

是否有可能从Python获得内存使用的"高水位线"?

(C)Python中是否有任何方法可以检查进程的当前内存使用情况?特别是,我想在测试脚本中确定内存使用的高水位标记,但如果有必要,我不介意定期检查内存使用情况并为自己计算高水位线.

编辑:我正在寻找一个纯python解决方案,或在OS X上工作的东西.

python macos memory-management

5
推荐指数
1
解决办法
5581
查看次数

Python没有释放Linux中的内存

我已经看过两年前发布的一些相关问题,但我想知道最近是否有任何解决方案.

我有一本庞大的字典词典.我的记忆中大约有4个词典(每个500 MB大小).当我继续运行程序时,我需要删除这4个字典中的一个并将内存释放到操作系统.因此,我不可能像以前的一些帖子中提到的那样开始一个新的内存分配子进程.

这里有一些代码来说明问题:

import cPickle
import resource
import gc
import time

mem = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
print "memory usage:", mem
test_dict = {}
for i in range(100000):
    test_dict[i] = "AAAAAAAA"
    if i%10000 == 0:
        mem = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
        print "memory usage:", mem

mem = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
print "memory usage: (dict created): ", mem
del test_dict
mem = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
print "mem usage: (dict deleted)", mem
gc.collect()
mem = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
print "mem usage (garbage collection)", mem
print "sleeping for a few seconds"
time.sleep(30)
gc.collect()
mem …
Run Code Online (Sandbox Code Playgroud)

python memory memory-management

2
推荐指数
1
解决办法
2141
查看次数