Je suis en train d'écrire une application qui vous permettra d'avoir plusieurs threads en cours d'exécution, et l'envie d'étrangler le CPU/mémoire d'utilisation de ces fils.
Il y a une question similaire pour le C++, mais je veux essayer et d'éviter à l'aide de C++ et de la JNI, si possible. Je réalise que j'ai peut-être pas possible à l'aide d'un langage de plus haut niveau, mais je suis curieux de voir si quelqu'un a des idées.
EDIT: Ajout d'une prime; j'aimerais avoir quelques vraiment bons, bien pensé des idées sur ce.
EDIT 2: La situation dont j'ai besoin c'est de l'exécution d'autres personnes de code sur mon serveur. Fondamentalement, il est tout à fait arbitraire de code, avec la seule garantie qu'il y aura une méthode main sur le fichier de classe. Actuellement, plusieurs complètement classes disparates, qui sont chargés lors de l'exécution, sont en cours d'exécution simultanément comme des threads séparés.
La façon dont il est écrit, ce serait une douleur à refactoriser à créer des processus distincts pour chaque classe qui est exécutée. Si c'est le seul bon moyen de limiter l'utilisation de la mémoire via la VM arguments, alors ainsi soit-il. Mais je voudrais savoir si il existe un moyen de le faire avec les threads. Même en tant que processus distinct, j'aimerais être capable de quelque limiter son utilisation de l'UC, puisque comme je l'ai mentionné plus tôt, plusieurs de ces va être en cours d'exécution à la fois. Je ne veux pas une boucle infinie de porc de toutes les ressources.
EDIT 3: Un moyen facile de rapprocher la taille de l'objet est avec java de l' Instrumentation des classes; en particulier, la getObjectSize méthode. Notez qu'il y a quelque chose de configuration nécessaires à l'utilisation de cet outil.