kettle运行job不自动释放内存

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kettle运行job不自动释放内存相关的知识,希望对你有一定的参考价值。

我通过java代码写了一个定时任务,在linux环境去调用很多job,但是发现每次运行完之后内存不自动释放,这个问题不知道怎么解决,谁有好的解决办法还望赐教。

参考技术A 调用自带脚本执行job吧,这样每次执行完都会释放内存,kitchen.sh和pan.sh,要是在一个job内死循环执行数据(比如30s执行一次),内存一直上升

(转)Kettle命令行

kettle使用命令行来运行ktr和kjb

1:cmd方式运行

1.ktr的运行:运行transformation文件是通过Pan.bat来运行的。

打开cmd命令行窗口,转到Pan.bat所在的目录,如d:\\data-integration,然后执行文件的命令为:pan /file D:\\etltest\\EtltestTrans.ktr

2.kjb的运行:运行job文件是通过kitchen.bat来运行的。

打开cmd命令行窗口,转到Pan.bat所在的目录,如d:\\data-integration,然后执行文件的命令为:kitchen /file D:\\etltest\\jobOK.kjb

2.bat文件运行

如果觉得通过打开命令行输入麻烦,我们可以把它写在一个批处理文件中。如:

d:

cd D:\\data-integration

pan /file D:\\etltest\\EtltestTrans.ktr

把这些内容保存在pan.bat里,通过双击panKtr.bat就可以执行ktr文件了。

同样地,我们把下面的内容:

d:

cd D:\\data-integration

kitchen /file D:\\etltest\\jobOK.kjb

保存在kitchenKjb.bat里,双击它,也可以执行kjb文件。

2 :kettle  kitchen.bat 后面参数说明

Options:
/rep        : Repository name
/user       : Repository username
/pass       : Repository password
/job        : The name of the job to launch
/dir        : The directory (dont forget the leading /)
/file       : The filename (Job XML) to launch
/level      : The logging level (Basic, Detailed, Debug, Rowlevel, Error, Nothing)
/logfile    : The logging file to write to
/listdir    : List the directories in the repository
/listjobs   : List the jobs in the specified directory
/listrep    : List the available repositories
/norep      : Do not log into the repository
/version    : show the version, revision and build date
/param      : Set a named parameter <NAME>=<VALUE>. For example -param:FOO=bar
/listparam : List information concerning the defined parameters in the specified job.
/export     : Exports all linked resources of the specified job. The argument is the name of a ZIP
file.


而options 后面可以是=也可以是:也可以是空格

kitchen.bat /file d:\\   或者 -file=D:\\ 或者/file:D:\\

下面是windows系统下一个完整的执行kettle程序的 bat 批处理文件的内容

======================================

e:

cd E:\\Tools\\data-integration
Kitchen.bat -rep repname -user admin -pass admin -dir /dirname -job jobname -level=basic>D:\\kettlelog\\kettlelog.log

 链接:http://www.cnblogs.com/wxjnew/p/3620792.html

以上是关于kettle运行job不自动释放内存的主要内容,如果未能解决你的问题,请参考以下文章

linux何时自动释放内存

sql 2008 R2 怎样 释放内存

c# .net core使用Hangfire组件来管理自动定时任务,连接的是redis服务,现在问题是占用内存太大

Objective C - 内存管理和自动释放???

如何将exe的资源释放内存中执行

在sql server 2000中进行内存的自动释放怎么实现?拜托各位了 3Q