We had started a full CIL compile and it finished within an hour. The next day we ran it again as we had some caching in reports and online sources suggested a full compile. This compile has been running for 2.5 hours so far.
We read the basic concept of how compiling works (link) and it seem that it uses a while(true) loop to keep retrying compile method on all elements. Also a compile can have N number of phases (passes).
My question here is how to track the progress of full CIL compile? Is there a way to atleast know in which phase or pass the compiling is now?
We could not fin any queries regarding this in online resources except this and still no one was able to answer.
Our concern here is that we have requested a system down time so we can compile knowing no one is utilizing any resources or doing any transactions on the database. From the general experience of people online a compile can take 5, 8, 10 and 11 hours, we cannot have such a long downtime for the system.
Our machines are physical machines with specs as follows:
Note: The RAM and the CPU are not fully used during the compile.
SQL Machine : 4 Cores (8 logical processors), 16gb RAM (RAM utilized 12.8gb increases with time, CPU utilized 0.8 ghz max)
AOS Machine : 4 Cores (8 logical processors), 16gb RAM (RAM utilized 4gb max, CPU utilized 1.6 ghz max)