Find

Article
· Feb 13, 2022 2m read

IRISが使用するワーキングセット(メモリ)について

これは、InterSystems FAQサイトの記事です。

各プロセスが消費しているメモリの内容は、Windowsリソースモニタの項目のワーキングセット、共有可能、プライベートで確認できます。

これらの内容は以下になります。

ワーキングセット プロセスが使用する物理メモリです。
         ワーキングセット(プライベート)とワーキングセット(共有可能)との合計です。 

共有可能               プロセスが使用する物理メモリ内で他のプロセスと共有可能なメモリです。

プライベート       プロセスが使用する物理メモリ内で他のプロセスと共有不可能なメモリです。


例えば、以下のようにメモリを使用しているプロセスがある場合、ほとんどは共有メモリになっているといえます。

ワーキングセット 5,341,472 = 共有可能 5,328,664 + プライベート12,808 (kb)


プロセスがアクセスする共有メモリは、データベースキャッシュおよびルーチンキャッシュで使用されているメモリ領域になります。

プロセスが大量にグローバルへのアクセスを行うと、データベースキャッシュへのアクセス量も多くなり、メモリ使用量の共有可能の数値が大きくなります。
(最大でデータベースキャッシュサイズまで大きくなります)

各プロセスのメモリ使用量のワーキングセットが多くても共有可能の数値が多い場合は特に問題はありません。

共有メモリ領域にマップしてる為にワーキングセットの数値が大きくなっているだけで、別途メモリを使用している状況ではありません。


WRTDMN や GARCOL などのシステムコアプロセスのワーキングセット(メモリ)が肥大化している場合、いずれのプロセスもデータベースキャッシュを大量にアクセスするため、データベースキャッシュのサイズが程度までの数値であれば妥当な値となります。


コアプロセスについては、以下のドキュメントをご覧ください。
 コアプロセスについて


あわせて、以下の関連記事も是非ご覧ください。
 InterSystems製品のプロセスが使用するメモリ量について
 管理ポータルのメモリ関連設定項目について
 System routine buffer (# KB) shortage is detected.... のメッセージの意味と対処方法
 データベースキャッシュおよびルーチンキャッシュの最適値の設定方法
 Windows上での共有メモリの割り当てについて
 

Discussion (0)0
Log in or sign up to continue
Article
· Feb 8, 2022 1m read

GlobalToJSON-embeddedPython-pure

I have created a package to export a Global into JSON object file and to re-create it by reloading from this file   
embeddedPython refers to the new available technologies. It should be understood as a learning exercise of 
how to handle the language interfaces. Only Global nodes containing data are presented in the generated JSON file.
Differently from the previous example, this one is using embedded Python only, no ObjectScript. Therefore PURE

We export this Global 

This is the file content

gbl.json.jpg

And the related Loader creates exactly the same Global

Video

Online Demo Terminal
Online Demo SMP

GitHub
 

2 Comments
Discussion (2)1
Log in or sign up to continue
Article
· Feb 7, 2022 1m read

GlobalToJSON-embeddedPython

I have created a package to export a Global into JSON object file and to re-create it by reloading from this file   
embeddedPython refers to the new available technologies. It should be understood as a learning exercise of 
how to handle the language interfaces. Only Global nodes containing data are presented in the generated JSON file.

We export this Global 

This is the file content

gbl.json.jpg

And the related Loader creates exactly the same Global

Video

Online Demo Terminal
Online Demo SMP

GitHub

2 Comments
Discussion (2)1
Log in or sign up to continue
Question
· Jan 31, 2022

Getting SQL Table Name For a Given Class

Hi folks!

Consider I have a class "X.Y.Z"

What is the SQL table name for it? How can I obtain it via ObjectScript? 

A quick search doesn't show any methods and properties. Documentation is a bit "wrong" here saying that the SQL table name is the same. It will be at least 'x_y.z'.

Any help is very appreciated!)

15 Comments
Discussion (15)2
Log in or sign up to continue
Article
· Jan 26, 2022 2m read

在 InterSystems IRIS 中使用网页版本的命令行工具 - Web Terminal

 

许多使用InterSystems IRIS的用户在调试代码的时候习惯使用命令行的方式,比如运行一个函数查看输出或者查看代码运行过程中保存在global中的数据等等。

对于将 InterSystems IRIS 安装在 Windows 操作系统的用户,只需要点击右下角图标选择Terminal 就可以很方便的使用。

但是对于将其安装到 Linux 或者Docker 容器中的用户,要使用命令行却不那么方便,下面我将会介绍在我们 Openexchange 中的一个应用 -- Web Terminal。

也就是说可以在网页中直接执行Terminal中的命令。

2016-09-18_212035

或者查看SQL执行结果:

2016-09-18_212244

可以在其中输入 /help ,获取更多帮助信息

2016-09-18_212325

安装

1. 点击进入项目下载页面,选择下载最新的版本。

2. 在任意的命名空间下导入下载的xml文件。

 

 

注意在这里选择导入文件的同时也要勾选上 “编译导入的项”

3. 之后会出现下面提示导入成功的提示

 

如果出现类似于下面的错误提示:

请将下载的 WebTerminal-v4.9.3.xml 文件编辑做下面修改

1 . 第1611行:修改为 

set requiredRole = "%DB_IRISSYS"

2. 第1730行:修改为

set dbPrefix = "IRIS"

重新导入就可以了。

使用

安装上面步骤安装完后,只需要在浏览器中输入网址:http://[host]:[port]/terminal/ (注意最后的 / 符号必须有)(比如:http://localhost:52777/terminal/

输入访问的用户名密码后,就可以进入网页版本的terminal了

在Openexchange中详细介绍的地址在这里,更详细的文档可以点击这里

3 Comments
Discussion (3)2
Log in or sign up to continue