タグ付けされた質問 「darwin」


1
cat / dev / null> file.logはDarwinの大きなファイルを切り捨てません
過去に、Linuxシステムでは、を使用して、大きく開いたログファイル(つまり、プロセスによってアクティブに書き込まれているファイル)を切り捨てることができましたcat /dev/null > file.log。 ただし、10.9(Mavericks)では、そうではないようです。アプリケーションによって記録されている11GBのファイルがありますが、そのファイルで同じコマンドを実行しても何も起こらないようです。 些細なサイズのファイルでこれを試しても、うまくいきます。 ここにありls -l /dev/nullます: crw-rw-rw- 1 root wheel 3, 2 Dec 16 12:49 /dev/null 私もcp /dev/null file.log役に立たないようにしました。 切り捨て機能(man 2 truncateダーウィン)を利用するかもしれないと考えて、これをコンパイルし、サイズが小さいファイルと実際のログファイルの2つのファイルに対して実行しました。繰り返しますが、それは些細なファイルに対して機能し、はるかに大きなログでは機能しませんでした。 /* * Copyright (c) 2013 Thomas de Grivel <thomas@lowh.net> * * Permission to use, copy, modify, and distribute this software for any * purpose with …
15 logs  darwin 

2
Mac OS Xで最大スワップスペースを増やすにはどうすればよいですか?
Mac OS X Yosemite 10.10.5では、128 GBのメモリ(Cで記述されたコマンドラインプログラム)を割り当てて使用する必要がある計算を実行しようとすると、カーネルは極端な偏見でプロセスを強制終了します。このコンソールログエントリは、1つのインスタンスの例です。 9/25/15 7:08:40.000 PMカーネル[0]:低スワップ:PID 6202(huffgrp)の強制終了 64 GBのメモリを割り当てて使用すると、計算は正常に機能し、妥当な時間内に動作します。Macのハードドライブには32 GBのRAMとbeaucoupスペースがあります。8 GBのRAMを搭載した別のMacでもこれを試してみました。64GBの計算も同様にうまく動作しますが、もちろん時間がかかりますが、128 GBの計算はカーネルによって同様に殺されます。 ところで、malloc()どれだけのスペースを要求しても、エラーが返されることはありません。カーネルは、プロセスが実際に使用するメモリが多すぎるとプロセスを強制終了します。その結果、ハードドライブへの大量のスワップが発生します。 そのため、64 GBから128 GBの間に秘密のスワップスペース制限があるようです。 私の質問は次のとおりです。より多くのスワップ領域を許可するようにカーネルを再構成するにはどうすればよいですか?有望なファイルを見つけました/System/Library/LaunchDaemons/com.apple.dynamic_pager.plistが、秘密の番号はそこにありません。のマニュアルページにdynamic_pagerは、スワップファイルの名前と場所を設定するだけであると書かれています。-S作成されたスワップファイルのサイズを設定するオプションを文書化した同じマニュアルページの古いバージョンがあります。160 GBのスワップファイルを要求してみましたが、効果はありませんでした。スワップファイルはそれぞれ1 GBのままであり、プロセスは依然としてカーネルによって強制終了されました。

2
Linuxの「time.h」で「timer_t」が定義されているが、OS Xが定義されていない理由
Cのソースコードファイルを読んでいるときに、この宣言を見つけました。(このソースコードはLinuxシステムプログラム用に記述されています。これは非常に重要な情報です) #include <time.h> #include <stdio.h> static timer_t* _interval_timer; ... 最初は「timer_t」についてもっと知りたかった。そこで、ヘッダー情報を取得するために「time.h」をグーグルで検索しました。しかし、「timer_t」については何も言わず、「time_t」についてのみ言及しました。 好奇心で、「mac」コンピューターで「time.h」c標準ライブラリファイルを検索して開きました(ご存じのとおり、/ usr / includeフォルダーにはc標準ライブラリファイルが格納されています)。しかし、このファイルは以前のGoogleのものと同じでした。 最後に、仮想マシンを使用してlinux os(ubuntu)をオンにし、linux c標準ライブラリフォルダー(フォルダーパスはOSXと同じ)の 'time.h'を開きました。予想通り、Linuxの 'time.h'ファイルにはtimer_tの宣言があります。 以下に「timer_t」タイプを宣言するコード行を追加しました。 #if !defined __timer_t_defined && \ ((defined _TIME_H && defined __USE_POSIX199309) || defined __need_timer_t) # define __timer_t_defined 1 # include <bits/types.h> /* Timer ID returned by `timer_create'. */ typedef __timer_t timer_t; …
11 linux  c  darwin 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.