热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在PowerShell中高效处理大规模内存对象的技术与实践

本文探讨了在PowerShell中高效管理和操作大规模内存对象的技术与实践。详细介绍了如何启用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中使用超大内存对象


推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文介绍了如何使用 Spring Boot DevTools 实现应用程序在开发过程中自动重启。这一特性显著提高了开发效率,特别是在集成开发环境(IDE)中工作时,能够提供快速的反馈循环。默认情况下,DevTools 会监控类路径上的文件变化,并根据需要触发应用重启。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • C++实现经典排序算法
    本文详细介绍了七种经典的排序算法及其性能分析。每种算法的平均、最坏和最好情况的时间复杂度、辅助空间需求以及稳定性都被列出,帮助读者全面了解这些排序方法的特点。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
author-avatar
试管婴儿
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有