`
CharlesCui
  • 浏览: 433108 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

syscall exception: 存储空间不足,无法处理此命令

阅读更多
在ruby上跑Ice客户端,
起13个并发没问题,

一个并发指一个连接,
每个并发通过这个方法实现:Ice::initialize(ARGV)

到14个并发或者以后,ruby报如下异常:

Thread.cpp:206: IceUtil::ThreadSyscallException:

syscall exception: 存储空间不足,无法处理此命令。



我一步步调,发现运行到13个并发的时候我机器内存也不大啊,

其它的错误信息还有:

04/01/09 15:43:21.898 error: exception in selector while calling closeSocket():

Network.cpp:688: Ice::SocketException:

socket exception: WSAENOTSOCK




真nb,报的这个错我还头一次见到。

留贴记录!
分享到:
评论
9 楼 bglmmz 2012-09-27  
楼主怎么解决的?
我用python调用ice服务,也出现此问题,

!! 09/27/12 11:06:34.314 error: cannot create thread for enpoint host resolver:
   Thread.cpp:229: IceUtil::ThreadSyscallException:
   syscall exception: 存储空间不足,无法处理此命令。
!! 09/27/12 11:06:34.359 error: cannot create thread for endpoint host resolver

   Thread.cpp:229: IceUtil::ThreadSyscallException:
   syscall exception: 存储空间不足,无法处理此命令。

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

8 楼 CharlesCui 2009-04-01  
http://www.rubyenterpriseedition.com/

这个ruby企业版和passenger一个team出品的吧?
是不是专门给passenger优化过的?

我估计是,用这玩意说不定运行passenger快,运行thin啊mongrel啊说不定就变慢了。
7 楼 CharlesCui 2009-04-01  
一样的代码,

时而这个错:

object allocation during garbage collection phase




时而这个错:

runtime error R6025

- pure virtual function call


6 楼 CharlesCui 2009-04-01  
又出现一个奇怪的错误,nnd

runtime error R6025

- pure virtual function call



不知道给ruby的core team找bug他们给我发工资不。
5 楼 CharlesCui 2009-04-01  
liuqiang 写道

CharlesCui 写道嘿嘿,哥们,我这个不是rails,就是个ruby的脚本。

不过看你那个链接里wxruby也有这个问题,那我估计是不是ruby1.8.6自身的一个潜在缺陷?

我搞不定。

啥脚本贴出来看看?

用介个试试 http://www.rubyenterpriseedition.com/,打了不少补丁



#int getUserProfileByUserId(string userId,out com::alisoft::member::udb::api::model::UserProfile userProfile);

require 'Ice'
require 'pp'
require 'benchmark'
$:<<File.expand_path(File.join(File.dirname(__FILE__), '..', 'ice'))

Ice::loadSlice('../ice/user_lsj.ice')
include Com::Alisoft::Member::Udb::Api::User

#全局变量常量在此处定义
status = 0
ics =[]
currNo=10
itNo=10000
ic = []

#初始化代码块
init = proc {

  currNo.times do |x|
    ic << Ice::initialize(ARGV)
    ics << {:base => UserServicePrx::checkedCast(ic[-1].stringToProxy("userService:default -h 10.2.224.242 -p 10002"))}
  end

}.call

#迭代执行代码块
action = proc {
  count=0
  iceCall = proc {
    itNo.times do |y|
      ics.each_index do |x|
        uid="#{22000005+count}"
        count+=1
        std=ics[x][:base].getUserProfileByUserId(uid)
      end
    end}

  rep=nil

  puts "Performance Reports".center(50, '*')
  Benchmark.bm(5) do |x|
    rep=x.report("Calls",&iceCall)
  end
  puts '--'*32
  puts "Total Execute #{itNo*currNo} Action(s)"
  puts "Total Cost #{rep.real} Second(s)"
  puts "This Scenario's TPS : #{itNo*currNo/rep.real}"
  puts "End of Reports".center(50, '*')

}.call

#终止代码块
ended = proc {

  ic.each do |x|
    x.destroy() if x
  end

}.call


currNo是并发数
itNo是每个并发在action代码块中执行的次数,
这两个都不能大,大了都会有上面那些错误。
4 楼 liuqiang 2009-04-01  
CharlesCui 写道
嘿嘿,哥们,我这个不是rails,就是个ruby的脚本。

不过看你那个链接里wxruby也有这个问题,那我估计是不是ruby1.8.6自身的一个潜在缺陷?

我搞不定。


啥脚本贴出来看看?

用介个试试 http://www.rubyenterpriseedition.com/,打了不少补丁
3 楼 CharlesCui 2009-04-01  
嘿嘿,哥们,我这个不是rails,就是个ruby的脚本。

不过看你那个链接里wxruby也有这个问题,那我估计是不是ruby1.8.6自身的一个潜在缺陷?

我搞不定。
2 楼 liuqiang 2009-04-01  
CharlesCui 写道
今天NB了,

有一个奇怪的报错,

是不是gc 的bug有待考验

Calls(eval):405: [BUG] object allocation during garbage collection phase

ruby 1.8.6 (2008-08-11) [i386-mswin32]





哈哈,这个是插件的bug,我遇到过,是act_as_ferret引起的!你检查下gem list

http://www.ruby-forum.com/topic/161876


1 楼 CharlesCui 2009-04-01  
今天NB了,

有一个奇怪的报错,

是不是gc 的bug有待考验

Calls(eval):405: [BUG] object allocation during garbage collection phase

ruby 1.8.6 (2008-08-11) [i386-mswin32]



相关推荐

    my_syscall.zip_my_syscall_syscall_内核模块_系统调用

    在Linux操作系统中,系统调用是用户空间与内核空间交互的重要途径,它允许应用程序请求操作系统执行特定的服务,如创建进程、读写文件、管理网络等。本项目名为"my_syscall.zip_my_syscall_syscall_内核模块_系统...

    google-linux-syscall-support

    描述中的“git clone https://chromium.googlesource.com/linux-syscall-support”是一个Git克隆命令,指示用户从Chromium的Google存储库克隆该项目的源代码,这通常意味着该项目是开源的,并且与Chromium浏览器或更...

    syscall实现

    在Linux操作系统中,系统调用(System Call,简称syscall)是用户空间程序与内核进行交互的主要手段。系统调用提供了安全、标准的接口,允许应用程序执行如打开文件、读写磁盘、创建进程等底层操作。本篇将详细介绍...

    1_syscall.tar.gz

    "1_syscall.tar.gz"这个压缩包文件包含了一个示例,用于演示如何在Linux环境下使用系统调用来实现用户空间与内核空间的通信。这个压缩包很可能包含了源代码、编译脚本或者其他相关文档,帮助开发者理解系统调用的...

    修改MSR对syscall指令HOOK

    syscall指令在x86-64架构中用于发起系统调用。在本主题中,我们将深入探讨“修改MSR(lstar)对syscall指令HOOK”的概念、实现方法以及在Win7 x64 SP1环境下的开发细节。 首先,我们要了解MSR(Model Specific ...

    syscall_intercept:系统调用拦截库

    脚本期望在travis环境中设置四个环境变量: DOCKERHUB_REPO-将用于构建的docker映像存储在何处,例如为了引用上的Dockerhub存储库,此变量应包含字符串“ pmem / syscall_intercept” DOCKERHUB_USER-用于登录...

    Syscall:操作系统类项目

    Syscall para verificar expreexpesaritméticasbalanceadas :check_mark: 决定是否需要在体育比赛中进行比赛的决定。违规行为Is balanced要纠正的事实Is balanced Not balanced矛盾的。 由西班牙国营企业服务公司...

    3_syscall_sh

    它接受共享内存ID、命令(如IPC_RMID、IPC_SET、IPC_STAT等)和一个结构体指针,以指定具体操作。 在“3_syscall_shm”这个示例中,可能包含了一个或多个C语言程序,演示如何使用上述系统调用来实现进程间的共享...

    x64-syscall:C ++中的x64 syscall调用程序

    C ++中的x64 syscall调用程序。 使用示例(来自Windows 10的索引,内部版本1803): ObjectAttributes.Length = sizeof ( OBJECT_ATTRIBUTES ); ClientId.UniqueProcess = HANDLE( 1000 ); // PID // NtOpenProcess...

    linux_syscall_support.h

    ubuntu下真的很难安装Redis Desktop Manager,一定要下载这个文件到3rdparty/gbreakpad/src/third_party/lss目录中

    syscall socket in Linux kernel

    syscall socket in Linux kernel

    syscall-monitor:监视进程进入syscall时,输出stcak

    标题中的"syscall-monitor"是一个工具,用于监视当进程进入系统调用(syscall)时的情况,它可以帮助开发者深入了解程序运行过程中的系统级交互。系统调用是操作系统提供的一种接口,允许用户空间的程序请求操作系统...

    syscall implementation in Linux kernel

    syscall implementation in Linux kernel

    ioBroker.nina:ioBroker 的 NINA 适配器

    确定 AGS(官方市政键):您可以使用此页面确定您要查找的城市/市政当局的 AGS: 错误请求错误 {"errno": "EPROTO", "code": "EPROTO", "syscall": "write"} 该网站使用 Debian Buster 和 RP4 进行旧加密,必须...

    inline_syscall:内联syscall使得在clang上的Windows变得容易

    内联syscall(inline syscall)是一种在程序中直接调用操作系统系统调用的技术,它通过将系统调用代码内联到用户空间的代码中,减少了函数调用的开销,提高了性能。在标题和描述中提到的"inline_syscall:内联...

    linux_syscall_support.h_2016/12/20

    2016年12月20日在https://chromium.googlesource.com/linux-syscall-support/上用git clone下来的linux_syscall_support.h头文件,供由于墙的原因无法获取到的人下载。此文件主要用于编译breakpad。

    npm报错error code EPERM, error syscall unlink,errno -4048解决

    24742 error syscall unlink 24743 error path E:\workspaces\multiplatform\node_modules\.staging\regexpp-c7c47c68\index.js.map 24744 error errno -4048 24745 error Error: EPERM: operation not permitted, ...

    Android 汇编 系统调用 实现 syscall .zip

    硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备、移动设备等 操作系统:LInux、IOS、树莓派、安卓开发、微机操作系统、网络操作系统、分布式操作系统等。此外,还有嵌入式...

    史上最全syscall測試用例(1024it.net整理)

    在Linux操作系统中,系统调用(System Call,简称syscall)是用户程序与内核交互的主要方式,它们提供了标准接口来执行各种低级别的操作,如文件I/O、进程管理、内存管理等。本压缩包文件包含了丰富的syscall测试...

Global site tag (gtag.js) - Google Analytics