草庐IT

OOM-killer

全部标签

android - 寻找Android的 "killer"内存缓存机制

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter寻求指导。9年前关闭。背景Android的最大堆大小非常有限,每个设备都有不同的最大堆。一些应用程序需要能够在内存中缓存内容(通常是图像),而不仅仅是在内部/外部存储中。当然还有很多nicetips关于处理位图和使用尽可能少的内存,但缓存也是需要的。问题我已经阅读了许多可能的缓存解决方案,但没有一个提供一种可以成为杀手级缓存解决方案的缓存。我想要的是一种具有以下功能的缓存机

android - Android 上的 OpenGL 是电池 killer 吗?

我目前正在实现一个软件键盘(使用一些复杂的预测),并且使用Canvas绘制它在性能方面是不够的。我得到的帧绘制时间远远超过100毫秒,这显然是NotAcceptable。键盘本身由大约33个键组成,每个键都是使用drawRoundRect和上面的简单Text绘制的。没有使用任何小部件,所以它是普通的性能。此外,几乎所有Google的性能提示都在使用,所以这也不是速度的原因。我现在已经到了切换到opengl实际上有意义的地步,但考虑到基于opengl的键盘可能对电池生命周期的影响,我仍然持怀疑态度。由于我找不到关于该主题的足够文档,我希望这里有人能为我指明正确的方向。

android - Task Killer 杀死应用程序和 Android 操作系统杀死应用程序之间的区别

当您使用TaskKiller应用来终止应用与Android操作系统因资源稀缺而终止应用时发生的情况有什么区别吗?AndroidSDK表示,当操作系统因资源不足而终止应用程序时,不会调用Application.onTerminate()方法。所以听起来操作系统并没有完全关闭应用程序,而且它所做的正是备受争议的任务killer所做的事情。如果他们做同样的事情,那么任务killer不会比操作系统本身造成更多伤害,对吧? 最佳答案 从Froyo开始,没有区别。:)任务killer所能做的就是kill-9进程在后台时,这与操作系统在需要内存时

caching - Redis 缓存使用 volitile-lru 抛出 OOM 错误

为了调试,我们将Redis设置为volitile-lru和10mb的最大内存我们在电子商务商店中使用Redis进行HTTP缓存-当页面上有并行请求时,错误:OOMcommandnotallowedwhenusedmemory>'maxmemory'出现。难道不应该通过将maxmemory-policy设置为volitile-lru来避免这种情况吗?redis是否不够快,无法释放内存并设置新内存(每个请求大约有200-600kb) 最佳答案 来自文档:volatile-lru:通过首先尝试移除最近较少使用的(LRU)键来逐出键,但仅在

iphone - 如何为 iPhone 游戏(如 Contract Killer 2)制作基于动态服务器的应用内/游戏内商店?

我看到现在很多iOS游戏都没有硬编码他们的商店,元素、描述、价格等都是从外部服务器加载的。实现这个最简单的方法是什么?我是一名游戏程序员,在服务器端编程方面经验很少。(很久以前做过爱好PHP脚本)请告诉我哪些库可以减轻服务器端/客户端的工作量。我想要一些易于管理的东西。他们如何随时宣布某些商品的50%折扣等优惠?不是每个应用内购买操作都需要获得Apple的批准吗?此外,我希望最大限度地提高安全性,并尽可能防止游戏商店被黑客入侵。 最佳答案 您说得对,这必须通过Apple的IAP。你会想在https://developer.apple

python - Tensorflow 深度 MNIST : Resource exhausted: OOM when allocating tensor with shape[10000, 32,28,28]

这是我正在运行的示例MNIST代码:fromtensorflow.examples.tutorials.mnistimportinput_datamnist=input_data.read_data_sets('MNIST_data',one_hot=True)importtensorflowastfsess=tf.InteractiveSession()x=tf.placeholder(tf.float32,shape=[None,784])y_=tf.placeholder(tf.float32,shape=[None,10])W=tf.Variable(tf.zeros([784

Redis不断占用大量内存,不断增长,直到被OOM杀死

目前,我的8GBRAM服务器为Redis使用了5.33GB(服务器的其他部分占用了大约1.6GB,所以即使在重新启动服务器后,我的内存已经达到~7GB[88%])。Redis的内存使用量持续增长,直到它最终被Ubuntu的OOM杀死,导致我的节点应用程序出现一系列错误。我在这篇文章的底部附上了RedisINFO输出。我本来以为redis中的键可能太多了,但我从Redis(http://redis.io/topics/faq)上读到,100万个键大约是100MB。我们有大约200万(~200MB-离5GB还差得很远),所以这不可能是问题所在。我的问题是:-redis在哪里消耗所有这些内存

redis - Redis "OOM command not allowed when used memory > ' maxmemory'”错误如何调试?

尝试设置key时出现“不允许OOM命令”,maxmemory设置为500M,maxmemory-policy“volatile-lru”,我正在为发送到redis的每个key设置TTL。INFO命令返回:used_memory_human:809.22M如果maxmemory设置为500M,我是如何达到809M的?INFO命令不显示任何键空间,这怎么可能?KEYS*返回“(空列表或集合)”,我已尝试更改数据库编号,但仍未找到任何键。这是信息命令输出:redis-cli-p6380redis127.0.0.1:6380>info#Serverredis_version:2.6.4redi

linux - 用户态进程是否可以处理 linux 中的 OOM 错误?

假设我禁用了所有与oom相关的功能(没有OOMkiller)。一个进程已经占用了所有可用内存,并且它仍在尝试从映射磁盘文件中读取一些字节,该文件不在任何页面缓存中。此进程是否会收到OOM信号,以便它可以react性地释放一些内存并稍后重试? 最佳答案 这取决于很多条件。1)如何禁用oom-killer?假设您将2写入/proc/sys/vm/overcommit_memory,这意味着:2:始终检查,永不过度使用(参见man5proc)之后你调用了mmap。2)你在“mmap”中使用什么标志?假设您使用MAP_NORESERVE,在

java - 进程 killer 识别

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:Who“Killed”myprocessandwhy?我的服务器正在运行一个java进程。在日志中我发现我的服务器自动重启(逻辑是如果进程终止,自动启动)。在这里我不知道是谁杀死了我的java进程。可能是一些脚本,或者任何东西......不知道。有什么办法可以找出谁是进程killer。我在Linux机器上工作。