- Community Home
- >
- HPE Community, Japan
- >
- HP-UX
- >
- System Management
- >
- メモリ使用率を上げる方法
system management
1821587
メンバー
3401
オンライン
109633
解決策
フォーラム
カテゴリ
Company
Local Language
戻る
フォーラム
ディスカッションボード
フォーラム
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
ディスカッションボード
ディスカッションボード
ディスカッションボード
ディスカッションボード
フォーラム
ディスカッションボード
戻る
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
ブログ
コミュニティ言語
言語
フォーラム
ブログ
トピックオプション
- RSS フィードを購読する
- トピックを新着としてマーク
- トピックを既読としてマーク
- このトピックを現在のユーザーにフロートします
- ブックマーク
- 購読
- 印刷用ページ
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
01-18-2005 04:45 PM
01-18-2005 04:45 PM
メモリ使用率を上げる方法
OS:HP-UX11.00
上記OSにて、メモリ使用率を可能な限り上げた状態で、正常にダンプが吐かれるかの検証を実施する予定でいます。
メモリ使用率を100%近くまで上げる必要があります。
但し、対象マシンは商用機である為、
Cの開発環境がインストールされておりません。(Cのmalloc関数を使用することは出来ません。)
Cプログラム以外でメモリ使用率を上げる良い方法をご教授下さい。
すみませんが、ご協力下さい。
3件の返信3
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
01-18-2005 05:40 PM
01-18-2005 05:40 PM
メモリ使用率を上げる方法
実機が近くにないので確認できないですが、
開発環境がないとmalloc()って使えませんでしたか?
OSにはカーネルコンパイル用にバンドルされたCコンパイラがあるので、かなり制限はありますが、ちょっとしたものなら作成できると思いますけど。
もしくはほかで作成してそのバイナリをもってくるのはNGですか? こちらもそれほど特別なライブラリを
使っていなければバイナリ互換は可能かと思います。
malloc()はたしかにメモリを確保しますが、実際には
memcpy()などでデータをセットしないと単に仮想空間上にメモリ領域を確保しただけでメモリは使われません。もし実メモリに圧迫をかけるのであれば、malloc()のあとにデータを配置すること、およびswapを使わないようにplock()などを使うといいのではないでしょうか?
開発環境がないとmalloc()って使えませんでしたか?
OSにはカーネルコンパイル用にバンドルされたCコンパイラがあるので、かなり制限はありますが、ちょっとしたものなら作成できると思いますけど。
もしくはほかで作成してそのバイナリをもってくるのはNGですか? こちらもそれほど特別なライブラリを
使っていなければバイナリ互換は可能かと思います。
malloc()はたしかにメモリを確保しますが、実際には
memcpy()などでデータをセットしないと単に仮想空間上にメモリ領域を確保しただけでメモリは使われません。もし実メモリに圧迫をかけるのであれば、malloc()のあとにデータを配置すること、およびswapを使わないようにplock()などを使うといいのではないでしょうか?
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
01-19-2005 07:24 AM
01-19-2005 07:24 AM
メモリ使用率を上げる方法
uhyoさんのおっしゃるように、"開発環境"がなくてもC コンパイラは入っていたと思います。但し、-O のような最適化機能は使えませんが。
メモリ使用率を上げるテストをするだけなら、
#include
#include
main()
{
unsigned char *ptr;
int i;
while (1) {
ptr = malloc(4096*100);
if (ptr != (unsigned char *)-1) {
for (i=0; i<100; i++) {
*ptr = 1;
ptr += 4096;
}
} else {
sleep(100);
exit(0);
}
}
}
みたいなプログラムを、例えば、"mem.c"として、
$ cc mem.c -o mem
としてコンパイルして、
$ cat memload.sh
./mem &
./mem &
./mem &
./mem
みたいなshell scriptでたくさん走らせればよいのでは。但し上のプログラムでは100秒経過すると止まってしまいますが。
(uhyoさんが書いているように、上のプログラムの、for文は物理メモリ割り当てを行わせるのに必要です。また、上のプログラムでは、maxdsiz を超えてデータの割付は出来ませんから、
カーネルパラメータであるmaxdsizを大きくしておくか、プロセスをたくさん走らせるか、すればたくさんメモリを使えます。)
メモリ使用率を上げるテストをするだけなら、
#include
#include
main()
{
unsigned char *ptr;
int i;
while (1) {
ptr = malloc(4096*100);
if (ptr != (unsigned char *)-1) {
for (i=0; i<100; i++) {
*ptr = 1;
ptr += 4096;
}
} else {
sleep(100);
exit(0);
}
}
}
みたいなプログラムを、例えば、"mem.c"として、
$ cc mem.c -o mem
としてコンパイルして、
$ cat memload.sh
./mem &
./mem &
./mem &
./mem
みたいなshell scriptでたくさん走らせればよいのでは。但し上のプログラムでは100秒経過すると止まってしまいますが。
(uhyoさんが書いているように、上のプログラムの、for文は物理メモリ割り当てを行わせるのに必要です。また、上のプログラムでは、maxdsiz を超えてデータの割付は出来ませんから、
カーネルパラメータであるmaxdsizを大きくしておくか、プロセスをたくさん走らせるか、すればたくさんメモリを使えます。)
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
01-19-2005 10:56 AM
01-19-2005 10:56 AM
メモリ使用率を上げる方法
別に、メモリ使用率を上げる必要は無い、と思います。
実施されたい事は、「メモリダンプ排出時、物理メモリ容量全てが、ダンプファイルとして吐かれたら良い」のですよね。
記憶が定かでは無いのですが、11.0は、デフォルトが、
実装されてるメモリー全部をdumpするのではなく
実際使用している(動いている)OS関連部分のみの採
取となっている、はずですので、その設定を一時的に
でも変更してあげれば、基本Full Dump になるはずで
すね。(結果、メモリ使用率も上げる必要が無い)
■関連カーネルパラメータ
alwaysdump :
ダンプに含めるカーネル・メモリ・ページの
ビット・マスク
dontdump :
ダンプから除外するカーネル・メモリ・ペー
ジのビット・マスク
値がビットマスクですので 実際変更する際は
samで変更するのが分かりやすいはずです。
実施されたい事は、「メモリダンプ排出時、物理メモリ容量全てが、ダンプファイルとして吐かれたら良い」のですよね。
記憶が定かでは無いのですが、11.0は、デフォルトが、
実装されてるメモリー全部をdumpするのではなく
実際使用している(動いている)OS関連部分のみの採
取となっている、はずですので、その設定を一時的に
でも変更してあげれば、基本Full Dump になるはずで
すね。(結果、メモリ使用率も上げる必要が無い)
■関連カーネルパラメータ
alwaysdump :
ダンプに含めるカーネル・メモリ・ページの
ビット・マスク
dontdump :
ダンプから除外するカーネル・メモリ・ペー
ジのビット・マスク
値がビットマスクですので 実際変更する際は
samで変更するのが分かりやすいはずです。
上記の意見は、Hewlett Packard Enterpriseではなく、著者の個人的な意見です。 このサイトを使用することで、利用規約と参加規約に同意したことになります 。
企業情報
© Copyright 2025 Hewlett Packard Enterprise Development LP