We present a schedulable garbage collection for real-time applications in virtual machine environments. The design objective is to make the pause time caused by garbage collection operations controllable, and the invocation of garbage collection predictable. Thus, real-time applications can be schedulable along with garbage collection. We develop a prototype for a schedulable garbage collection in MONO CLI execution environment. A cost model of garbage collection is established based on measured WCET to predict the execution time and overhead of garbage collection operations. A scheduling algorithm of garbage collection and application tasks is presented to illustrate how the time and memory constraints of real-time systems can be met. The experiment result of the scheduling algorithm for a periodic task set on the prototype is included in the paper.