powershell中使用超大内存对象
powershell中使用超大内存对象
简单介绍了powershell中超大内存对象的用途,开启powershell超大内存对象的办法。
powershell 传教士 原创文章 2016-12-31 允许转载,但必须保留名字和出处,否则追究法律责任
powershell 2GB large object .net 大对象
前 言
问:powershell中,哪些对象有可能会占用大内存?
答: stringbuilder对象,大数组arraylist,hashset等。
问:powershell中,stringbuildr对象有什么用?
答: 还是比较常用的,让大文件在内存中查找替换,这样比string快不少。
问:1GB的stringbuilder对象,能存多少文本?
答: .net 采用utf16,即不论一个英文字母还是一个汉字,都占用2个字节。 所以说1GB的文本文件,读取入内存后,大概要占用2.1GB左右的内存。
正 文
问题的提出: 一个变量占用1GB内存,算是大么?
我有台测试机子,用的是win10 ltsb 2016的系统,物理内存还剩30G,虚拟内存20G。 但是建立个1GB的对象都报错。而建立900MB的就不报错了,代码如下:
[System.Reflection.Assembly]::loadwithpartialname("System.Text") | Out-Null
[int32]$long = 1gb
$内存字符串对象 = New-Object System.Text.StringBuilder($long)
本来手册中说,默认能使用2GB内存的。唉,这年头啥都缩水呀,看来我只能启用.net的超大对象了。
前提:
1 用64位系统,物理内存足够,虚拟内存足够。
2 .net版本至少是4.51,当然最好是最新版4.62。
3具体解决办法:
用记事本,新建一个文本文件,
文件名为:【powershell.exe.config】
文件编码为:【utf8+bom头】,即用记事本保存成utf8编码。
文件内容为:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<gcAllowVeryLargeObjects enabled="true" />
</runtime>
</configuration>
保存后,粘贴此文件到【c:\Windows\System32\WindowsPowerShell\v1.0】
再重新运行powershell.exe,重新运行上述脚本代码,就不报错了。
powershell中使用超大内存对象的更多相关文章
- powershell中的cmdlet命令
Add-Computer 向域或工作组中添加计算机. Add-Content 向指定的项中添加内容,如向文件中添加字词. Add-History 向会话历史记录追加条目. Add-Member 向 W ...
- java中基本类型封装对象所占内存的大小(转)
这是一个程序,java中没有现成的sizeof的实现,原因主要是java中的基本数据类型的大小都是固定的,所以看上去没有必要用sizeof这个关键字. 实现的想法是这样的:java.lang.Runt ...
- 在PowerShell中操作SharePoint对象
1. 用PowerShell创建一个SharePoint内容对象创建一个自定义列表:$SPSite = New-Object Microsoft.SharePoint.SPSite("htt ...
- 使用管道符在PowerShell中进行各种数据操作
最近在培训PowerShell,在讲到Pipeline的时候,对于我这种长期和数据(数据库)打交道的人来说,觉得很实用,所以写此博文,记录一下. 无论是在Linux中写Bash脚本还是在Window上 ...
- powershell读写磁盘变量(对象序列化)
---[第一章,开篇引子]--- 很久很久以前,我在网上闲逛,看到一头powershell菜鸟,写了一篇感慨道“挖哈哈,我学会powershell啦,我以前很笨,各种不懂,还想把变量保存起来.” 实际 ...
- Json字符串解析原理、超大json对象的解析
概述 附上完整的代码:https://pan.baidu.com/s/1dEDmGz3(入口类是Json)JSON:JavaScript 对象表示法(JavaScript Object Notatio ...
- 探索PowerShell 【十三】WMI对象
原文:探索PowerShell ][十三]WMI对象 我记得在xp时代,经常使用的工具有一个叫做WMI Administrative Tools,是微软官方提供的用来查看.编辑WMI对象的,只是现在好 ...
- 《Entity Framework 6 Recipes》中文翻译系列 (24) ------ 第五章 加载实体和导航属性之查询内存对象
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 5-4 查询内存对象 问题 你想使用模型中的实体对象,如果他们已经加载到上下文中, ...
- OO中,先有对象还是先有类?
就是问,在面向对象思想里,先有对象还是先有类,乍一看和先有鸡蛋还是先有鸡是一类问题,其实不然!这个问题,在lz考研复试的时候被面试官问过,一模一样,如今又在一个笔试题里看到了类似的题目,眨一下,有人会 ...
随机推荐
- Nginx基础知识之————RTMP模块中的中HLS专题(翻译文档)
一.在Nginx配置文件的RTMP模块中配置hls hls_key_path /tmp/hlskeys; 提示错误信息: nginx: [emerg] the same path name " ...
- G将军的敢死队——树状DP
当前节点的两种情况: 1.beChoosed = {son.beAbandoned乘积} //当前节点选中的情况下,子节点都不能选 2.beAbandoned = {(son.beAbandoned ...
- 程序设计入门——C语言 第8周编程练习 1 单词长度(4分)
第8周编程练习 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提交答案,系统 ...
- java获取年份的后两位
public static String getDate(Date strDate) { String date = null; if (strDate!= null) { Calendar star ...
- settings.php rwx
440/400 https://www.drupal.org/node/137702 You must understand the meaning of XYZ chmod from file at ...
- Python网络连接
import appuifw as ui import httplib from os import abort uia=ui.app uin=ui.note uiq=ui.query e32=ui. ...
- flume坑之channel.transactionCapacity和HdfsSink.batchSize
不说过程了,直接说结果!一对相连接的channel-HdfsSink,无意间配置如下:...agent.channels.common-channel.transactionCapacity=10.. ...
- HAproxy配置文件操作
要求 1. 根据用户输入输出对应的backend下的server信息2. 可添加backend 和sever信息3. 可修改backend 和sever信息4. 可删除backend 和sever信息 ...
- Hibernate与MyBatis
一. Hibernate与MyBatis Hibernate 是当前最流行的O/R mapping框架,它出身于sf.net,现在已经成为Jboss的一部分. Mybatis 是另外一种优秀的O/R ...
- Wpf之Xaml属性值和特性值(一)
其实我一直很好奇在xaml中,通过Attribute=Value这种方式可以进行对元素的描述, 例如: <Rectangle Name=” rectangle” Fill=”Blue”/> ...