関連記事
GitHub - devlights/blog-summary: ブログ「いろいろ備忘録日記」のまとめ
概要
以下、自分用のメモです。たまに使いたいときにコマンドの名前忘れているのでここにメモメモ。。。
たまに、システムの設定値を見たいときがあります。例えばページサイズとかオープンできるファイル数の最大数とか。
linuxだと以下のコマンドで調べられます。
$ getconf PAGESIZE 4096
getconf コマンドというのがあって、引数に知りたいキー名を指定すると値を教えてくれます。
どんなキーを指定できるのかを知りたい場合は
$ getconf -a
とすると全部出力してくれます。いっぱい出ますので、ページャとか使わないと出力が流れてしまいますが。
個人的にたまに利用するのが以下のキーですね。
- _NPROCESSORS_ONLN
- プロセッサ数
- NAME_MAX
- ファイル名の最大長
- コマンドは
getconf NAME_MAX /と後ろに/をつける必要あります
- PATH_MAX
- パスの最大長
- こちらも
NAME_MAXと同様に後ろに/をつける必要があります
あと、これは余談ですがC言語の場合は sysconf 関数や pathconf や fpathconf関数が同じことをしてくれます。unistd.h にプロトタイプ宣言されていますね。
#include <stdio.h> #include <stdlib.h> #include <unistd.h> int main(void) { // getconf ARG_MAX long arg_max = sysconf(_SC_ARG_MAX); printf("ARG_MAX=%ld\n", arg_max); // getconf NAME_MAX / long name_max = pathconf("/", _PC_NAME_MAX); printf("NAME_MAX=%ld\n", name_max); // getconf PATH_MAX / long path_max = pathconf("/", _PC_PATH_MAX); printf("PATH_MAX=%ld\n", path_max); return EXIT_SUCCESS; }
$ gcc main.c $ ./a.out ARG_MAX=2097152 NAME_MAX=255 PATH_MAX=4096
参考情報
過去の記事については、以下のページからご参照下さい。
サンプルコードは、以下の場所で公開しています。