require 'objspace'
ObjectSpace.memsize_of([0] * 1_000_000)
#=> 8000040
ObjectSpace.memsize_of(Array.new([0] * 1_000_000))
#=> 40
Run Code Online (Sandbox Code Playgroud)
它去了哪里?
Array中的一大堆东西似乎有一个"共享数组"的概念,其中数据块被移动到共享堆空间.我知道memsize_of它清楚地表明它可能是不完整的,但是有一种(好的)方法来分析这些共享数组块的分配吗?从它们的角度来看,它们似乎不是"对象" ObjectSpace.each_object.对于此内存分析器而言,即使我无法将其追溯到特定对象,至少能够跟踪共享阵列堆空间的总体大小也是很好的.
所以我正在开发一个Windows的Chef cookbook,这意味着它通常在Windows Server实例上执行(在本例中为2012r2).具体来说,我正在安装使用Cygwin的MSYS2.我注意到软件包安装非常慢,并且跟踪了一篇文章,显示了Cygwin中默认的nsswitch.conf如何使用较慢的动态SAM/AD集成.对于大多数用户,特别是对于我的测试环境,这不是必需的,因此我尝试按照这些步骤仅使用基于文件的用户/组.这导致了大规模的加速(大约6倍).
但有一种奇怪之处.它只有在我通过RDP至少登录一次服务器时才有效.否则回到减速 - 维尔.
由于这对自动化测试没有太大作用,我试图找出导致问题的确切原因.最可能的候选者是第一个RDP连接(即非WinRM /无头会话)正在填充无头会话不加载的用户配置文件的一部分,但我无法弄清楚是什么.我试过调用LoadUserProfile,它应该创建一个它不存在的配置文件,但这还不够.
关于我缺少什么部分的任何想法?
我使用COM在我的C应用程序中嵌入了IE实例.使用IWebBrowser2.Navigate我可以传递与请求一起发送的标头,除了显然是"Accept-Language".IE中的语言设置似乎总是覆盖我为该标头传递的值.有没有办法解决?
我已经安装了厨师客户端12.0.3,除此之外我已经安装了chef-dk版本,0.3.5但为什么chef-dk正在安装厨师客户端版本Chef: 11.18.0.rc.1
错误:
E, [2015-01-08T04:58:36.707534 #22533] ERROR -- : Ridley::Errors::ClientError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
E, [2015-01-08T04:58:36.708931 #22533] ERROR -- : /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/responses.rb:29:in `value'
/opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/calls.rb:92:in `value'
/opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/proxies/sync_proxy.rb:33:in `method_missing'
/opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/proxies/cell_proxy.rb:17:in `_send_
There was an error connecting to the Chef Server
Run Code Online (Sandbox Code Playgroud) 我已经创建了一个 StorageClass 和 PersistentVolume,但是当我尝试创建一个 PersistentVolumeClaim 时,我收到以下错误,“PersistentVolumeClaim“esp-pv”无效:spec: Forbidden: 在创建后不可变,除了 resources.requests for bound claim”。我尝试删除 StorageClass PersistentVolume 和 PersistentVolumeClaim,正如其他帖子所建议的那样,然后重新创建 sc、pv 和 pvc,但我得到了同样的错误。
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: manual
provisioner: kubernetes.io/no-provisioner
#volumeBindingMode: WaitForFirstConsumer
volumeBindingMode: Immediate
allowVolumeExpansion: true
Run Code Online (Sandbox Code Playgroud)
apiVersion: v1
kind: PersistentVolume
metadata:
name: esp-pv-volume # name of the pv
namespace: espkube # namespace where the p vis applied
labels:
type: local
spec:
storageClassName: manual
accessModes:
- ReadWriteMany # esp, studio and streamviewer can all write to this space
hostPath:
path: "/mnt/data/"
capacity:
storage: …Run Code Online (Sandbox Code Playgroud) 如果可以使用 kubernetes 清单文件中的命令指定所有参数,那么 args 的用途是什么?例如,我可以使用下面的语法,它完全否定了参数的使用。
command: [ "bin/bash", "-c", "mycommand" ]
Run Code Online (Sandbox Code Playgroud)
或者也
command:
- "bin/bash"
- "-c"
- "mycommand"
Run Code Online (Sandbox Code Playgroud) 我使用的是Windows 7机器,安装了windows power shell.如何确保将Windows防火墙配置为允许来自工作站的Windows远程管理连接.例如:netsh advfirewall firewall set rule name ="Windows Remote Management(HTTP-In)"profile = public protocol = tcp localport = 5985 remoteip = localsubnet new remoteip = any
我正在按照上面的命令,但无法配置它.
kubernetes ×2
windows ×2
winrm ×2
berkshelf ×1
c ×1
chef-infra ×1
chefdk ×1
com ×1
cygwin ×1
msys2 ×1
powershell ×1
ruby ×1
winapi ×1