-3

批量运行java看起来像这样

@ECHO OFF java -Xmx512m -Xms512m -jar "PROGRAM.jar" PAUSE

这将给它 512mb 的内存。我怎么能在 C# 中做到这一点?

4

3 回答 3

2

使用 Windows作业对象API。作业可以限制内存使用和进程优先级。

于 2013-08-02T06:19:45.373 回答
2

从 c# 编译的 .exe 文件有一个头文件,它可以由 windows shell 执行,双击,就像你在命令行中启动 Java 的方式一样,但是在命令行中它会被保存到一个 bat 文件中。它与本机的 win32 exe 非常不同。它需要一个类似Java的虚拟机,只是运行时编译不同。

如何提供启动和运行时参数有很多选项,其中之一是配置文件。请看这里

于 2013-08-02T04:04:00.057 回答
1

目前写的您的问题有两种解释:

1 - 如果您只需要从命令行/批处理文件调用 C# 应用程序

  • 生成 EXE(例如控制台应用程序)
  • 通过文件名直接调用它(例如C:\MyApp\MyApp.exe

2 - 限制某个程序可能消耗的内存量是个坏主意。

  • 通过编写好的代码确保您的应用程序只消耗必要的内存。
  • 我不知道有一种机制会限制给定的 .Net 应用程序可以消耗的内存量。如果是这样的话,这仍然是一个坏主意。每当应用程序达到该限制时,它就会简单地以OutOfMemoryException.
于 2013-08-02T04:03:50.960 回答