I wan to run my process in an specific deadline ,THEN i used high priority for this process ,the highest priority in my system is 50 and it is for io-audio,then i set 60 for this(we know the upper range is 63 ).but every time differs some millisecs,
A)who causes this delay ?how can find it?
B)How can i control it ?
You can use the System Profiler to quickly and easily identify which thread is pre-empting your thread. Simply capture a trace during the time you believe your thread is being pre-empted (see “tracelogger” and “System Profiler”) in the docs.
btw: You must be using an older version of Neutrino if you can only go to priority 63. Current versions of Neutrino support priorities up to 255.
Ok, But when i select kernel event trace , i takes time to make its kev file ready ,then it shows the information that relates to system for 1 min ago .but i want information about now .because my process terminates.
and it make my system very low !!
Why does your process terminate? If it intentionally exists because it misses a deadline, then you can run tracelogger in ring mode, and put a TraceEvent(TRACE_STOP) where your program exits. You are then guaranteed to have the data you want in the trace.